写在前面

下面的这篇文章将手把手教大家搭建一个简单的股票舆情分析系统,其中将先通过金融界网站爬取指定股票在一段时间的新闻,然后通过百度情感分析接口,用于评估指定股票的正面和反面新闻的占比,以此确定该股票是处于利好还是利空的状态。

环境准备

本地环境:

库版本:

其中用到了百度的ai接口,通过pip安装的方式如下:

然后,导入需要用到的所有库:

代码实现

1、获取新闻数据

首先,我们需要通过金融界(http://stock.jrj.com.cn/share)的网站爬取股票的新闻信息。获取指定股票的新闻资讯的接口形式是: 

如600381股票的新闻资讯如下图所示:

需要注意的是,当获取后面几页的新闻时,其接口需要加一个后缀,形式如下:

首先,我们定义一个函数,传入一个股票代码的列表,表示用于下载到本地的股票新闻的代码。然后将每个股票的代码拼接到api中,然后调用parse_pages()函数用于爬取该api下网页中的数据。

接下来,我们实现上面的parse_pages()函数。其中需要先获取每一页新闻数据的总的页数,然后针对每一页拼接对应的api接口,最后再对每一页的新闻数据进行下载。

获取最大页数的函数如下,其中用到了lxml下的etree模块来解析html代码,然后通过正则表达式获取最大页数。

接下来实现download_page()函数,它的作用通过正则表达式匹配页面中的新闻标题,并将获取的标题数据保存到本地文件中。

接下来,通过调用上面的download_news()函数,并传入需要爬取新闻的股票代码列表,就可以将新闻数据爬取到本地了。

得到的新闻数据形式如下图所示:

2、新闻情绪分析以及统计

在获取了股票的新闻数据之后,我们接下来需要对每支股票的所有新闻进行情感分析了。其中用到了百度人工智能接口aip下的aipNLP用于对所有新闻数据进行自然语言处理,并进行情感分析。需要注意的是,在通过百度人工智能接口进行情感分析之前需要先注册并获取APP_ID、API_KEY以及SECRET_KEY。获取的方式如下:

首先,登录并注册百度人工智能平台(https://ai.baidu.com/):

然后,在自己的控制台中找到自然语言处理,并创建应用,如下图所示:

创建完成之后就可以得到自己的APP_ID、API_KEY以及SECRET_KEY,如下图所示:

接下来通过一个函数来实现对指定的股票进行情感分析并保存到本地: 

其中的analyze()函数实现如下,其中需要将前面申请的APP_ID、API_KEY以及SECRET_KEY进行定义。之后读取包含每个股票的所有新闻的文件,其中每一行表示一个新闻标题。然后通过aipNLP对每个标题进行情感分析,进而基于得到的分析结果来统计积极新闻和消极新闻的个数,最后将针对每支股票的分析结果返回:

调用下面的代码进行分析,并生成统计结果:

3、数据可视化

最后我们将得到的结果进行可视化,可以直观地看到每支股票的消极新闻和积极新闻所占的比例。

效果图如下所示:

总结

在这篇文章中,我们介绍了如何基于python搭建一个简单的股票舆情分析系统,其中将先通过金融界网站爬取指定股票在一段时间的新闻,然后通过百度情感分析接口对新闻进行情感分析,最后统计股票的正面和反面新闻的占比,以此确定该股票是处于利好还是利空的状态。基于此系统,大家可以进行进一步的进行扩展以应用。

用Python搭建股票舆情分析系统相关推荐

  1. 用Python搭建一个股票舆情分析系统

    写在前面 下面的这篇文章将手把手教大家搭建一个简单的股票舆情分析系统,其中将先通过金融界网站爬取指定股票在一段时间的新闻,然后通过百度情感分析接口,用于评估指定股票的正面和反面新闻的占比,以此确定该股 ...

  2. Python 基于微博舆情分析系统的设计与实现,GUI可视化界面(毕业设计,附源码,教程)

    文章目录 1. 简介 2. 技术选型 3. 实现功能简介 **第4章系统总体设计** 5. 系统选型 1. 简介 微博舆情分析系统软件是一款方便,快捷,实用的信息服务查询软件.随着智能手机在全球市场的 ...

  3. 用python做一个舆情分析系统_如何用Python做舆情时间序列可视化?

    如何批量处理评论信息情感分析,并且在时间轴上可视化呈现?舆情分析并不难,让我们用Python来实现它吧. 痛点 你是一家连锁火锅店的区域经理,很注重顾客对餐厅的评价.从前,你苦恼的是顾客不爱写评价.最 ...

  4. (基于Python的毕业设计)微博舆情分析系统(附源码+论文)

    大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦. 目录 一.项目简介 二.系统设计 2.1软件功能模块设计 2.2数据库设计 三.系统项目部分截图 3.1管理员功能模块 3.2热搜数据 3.3 ...

  5. 微博舆情分析系统的设计与实现(python)

    背景分析 随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管理.由于现在网络的发达,微博 ...

  6. garch预测 python_【2019年度合辑】手把手教你用Python做股票量化分析

    引言 不知不觉,2019年已接近尾声,Python金融量化公众号也有一年零两个月.公众号自设立以来,专注于分享Python在金融量化领域的应用,发布了四十余篇原创文章,超过两万人关注.这一路走来,有过 ...

  7. flask echarts词云可视化_基于flask框架的高校舆情分析系统

    系统分析: 高校舆情分析拟实现如下功能,采集微博.贴吧.学校官网的舆情信息,对这些舆情进行数据分析.情感分析,提取关键词,生成词云分析,情感分析图,实时监测舆情动态. 系统设计: 前端:采用layui ...

  8. 利用python进行股票技术分析--以茅台为例

    """ 利用python进行股票技术分析–以茅台为例 通过下述策略对利用python进行股票技术分析,可以举一反三,并且能够实现复杂的技术分析策略,同时可以同python ...

  9. 搭建AWStats日志分析系统

    文章目录 搭建AWStats日志分析系统 实验步骤: 修改DNS主配置文件 修改http服务主配置文件 安装AWStats 修改http服务配置文件 搭建AWStats日志分析系统 AWStats是一 ...

  10. 数据查询和业务流分开_基于大数据的舆情分析系统架构 - 架构篇

    前言 互联网的飞速发展促进了很多新媒体的发展,不论是知名的大V,明星还是围观群众都可以通过手机在微博,朋友圈或者点评网站上发表状态,分享自己的所见所想,使得"人人都有了麦克风".不 ...

最新文章

  1. 唐杉博士:人工智能芯片发展及挑战
  2. 在mac上命令行里面如何打开文本编辑器?
  3. springboot shiro和freemarker集成之权限控制完全参考手册(跳过认证,登录由三方验证,全网首发)...
  4. 电脑计算机名无法更改,win10系统计算机名字无法更改的还原技巧
  5. boost::hana::partition用法的测试程序
  6. 「JOISC 2020 Day4」治疗计划(线段树+dijkstra最短路)
  7. Java过滤器详细文档,简介,实例,应用
  8. “跨国视频造假窝点”曝光!这个大规模数据集,帮AI揪出99%换脸视频
  9. js语音识别_js 语音识别_js 语音识别库 - 云+社区 - 腾讯云
  10. 用EXCEL来解决同期比较的问题
  11. Bom Shanka Machines psymmetrix Delay for Mac(音频延迟效果器)
  12. easypr arm linux,zhangdy
  13. ThinkPHP添加谷歌验证码验证
  14. Python 调用 kafka 构建完整实例分析与应用
  15. WSJ新闻标题的中心词提取
  16. easyui filebox+ajaxfileupload实现异步上传
  17. linux下载ccle数据,对CCLE数据库可以做的分析--转载
  18. 理解O(log2N)和O(Nlog2N)
  19. 【看表情包学Linux】进程阻塞 | 轮询检测 | 基于非阻塞等待的轮询方案 | 进程程序替换 | exec 函数簇
  20. 采样率150KSPS同步触发多板卡同步2路RS485D的3U PXIE采集卡

热门文章

  1. MFC Windows 程序设计[五]之绘制表格Accel
  2. NodeJs(尚硅谷视频学习笔记)
  3. python wget_python wget下载文件处理的一些问题
  4. 物联网工程导论第二版答案选择题
  5. workbench中schema只显示一个库
  6. steam加速_PC电脑steam有没有免费试用的加速器?首选电狐加速器
  7. 有关睡眠分期规则判读的基础知识整理(基于美国睡眠医学会AASM 判读手册2.3版)
  8. PLC编程语言入门,常用指令集汇总分享
  9. mix2线刷开发板救砖_小米MIX 2S手机开不了机_线刷救砖教程_安卓刷机工具_一键刷机...
  10. 数模(8)——排队论模型