今天教大家如何爬取新浪网新闻数据,通过词云可视化展示新闻关键词,快速了解最新的新闻热点。这里爬取了2500条新闻数据进行演示。
PS:这里采集的主要是国内最新新闻数据。先来看一下数据:
1、网页分析
在开始采集之前先说一下新闻数据来源(新浪网)https://news.sina.com.cn/china/
下一页分析
我们想要采集多条数据,因此需要找到下一页的规律
点击第二页的时候,发现网页链接没有变化,这里数据是通过异步加载过来,因此查看network,找到了目标异步链接:https://feed.sina.com.cn/api/roll/get?pageid=121&lid=1356&num=20&versionNumber=1.2.4&page=2&encode=utf-8&callback=feedCardJsonpCallback&_=1619440444354 但发现callback=feedCardJsonpCallback&_=1619440444354,可以去掉,因此最终链接如下:https://feed.sina.com.cn/api/roll/get?pageid=121&lid=1356&num=20&versionNumber=1.2.4&page=2&encode=utf-8 参数page是页数,经过测试page范围在1~125,到126的时候就请求到的是空数据。每一页一共有20条,因此一共是2500条新闻数据。
json数据结构
这里咱们学院获取三个字段(标题title、原标题intro、关键词keywords)
2、采集数据
今天教大家如何爬取新浪网新闻数据,通过词云可视化展示新闻关键词,快速了解最新的新闻热点。这里爬取了2500条新闻数据进行演示。
PS:这里采集的主要是国内最新新闻数据。先来看一下数据:
1、网页分析
在开始采集之前先说一下新闻数据来源(新浪网)https://news.sina.com.cn/china/
下一页分析
我们想要采集多条数据,因此需要找到下一页的规律
点击第二页的时候,发现网页链接没有变化,这里数据是通过异步加载过来,因此查看network,找到了目标异步链接:https://feed.sina.com.cn/api/roll/get?pageid=121&lid=1356&num=20&versionNumber=1.2.4&page=2&encode=utf-8&callback=feedCardJsonpCallback&_=1619440444354 但发现callback=feedCardJsonpCallback&_=1619440444354,可以去掉,因此最终链接如下:https://feed.sina.com.cn/api/roll/get?pageid=121&lid=1356&num=20&versionNumber=1.2.4&page=2&encode=utf-8 参数page是页数,经过测试page范围在1~125,到126的时候就请求到的是空数据。每一页一共有20条,因此一共是2500条新闻数据。
json数据结构
这里咱们学院获取三个字段(标题title、原标题intro、关键词keywords)
2、采集数据
采集第一页
分析好之后,下面开始使用python编程采集数据。url="https://feed.sina.com.cn/api/roll/get?pageid=121&lid=1356&num=20&versionNumber=1.2.4&page=1&encode=utf-8"
这是第一页的数据,已经可以成功采集,只需要改变page值就可以采集下一页数据。接着开始把采集的数据存入到excel中。
保存数据
这里使用openxl库去将数据保存到excel中,先定义表头outwb = openpyxl.Workbook() 接着写入到excel中count = 2
3、词云可视化
这里主要绘制三个词云可视化(用标题、原标题、关键词分布作为数据去画图)。
标题是原标题的精简版,关键词是这篇文章的核心关键词,通过绘制这个三个词云图,然后进行对比分析。
读取数据datafile = u'新闻数据-李运辰.xls'
标题词云可视化
###标题词云图
原标题词云可视化
在画词云图之前,先对数据进行处理一下(比如“原标题:”去掉)
###原标题词云图
关键词词云可视化
###关键词词云图
分析:
三个词云图的时事热点都差不多,核心点在于“新冠肺炎”、“病例”、“北京”,“与外交国家等情况”。具体就不过多的说,通过词云图可以一目了然的了解到当前国内的核心热点关键词。
4、小结
为了大家方便学习,辰哥把本文的完整源码**上传,需要的通过同名公众回复:**新闻
本文讲解了如何去采集新浪网新闻数据并绘制词云图展示分析。
采集第一页
分析好之后,下面开始使用python编程采集数据。url="https://feed.sina.com.cn/api/roll/get?pageid=121&lid=1356&num=20&versionNumber=1.2.4&page=1&encode=utf-8"
这是第一页的数据,已经可以成功采集,只需要改变page值就可以采集下一页数据。接着开始把采集的数据存入到excel中。
保存数据
这里使用openxl库去将数据保存到excel中,先定义表头outwb = openpyxl.Workbook() 接着写入到excel中count = 2
3、词云可视化
这里主要绘制三个词云可视化(用标题、原标题、关键词分布作为数据去画图)。
标题是原标题的精简版,关键词是这篇文章的核心关键词,通过绘制这个三个词云图,然后进行对比分析。
读取数据datafile = u'新闻数据-李运辰.xls'
标题词云可视化
###标题词云图
原标题词云可视化
在画词云图之前,先对数据进行处理一下(比如“原标题:”去掉)
###原标题词云图
关键词词云可视化
###关键词词云图
分析:
三个词云图的时事热点都差不多,核心点在于“新冠肺炎”、“病例”、“北京”,“与外交国家等情况”。具体就不过多的说,通过词云图可以一目了然的了解到当前国内的核心热点关键词。
4、小结
为了大家方便学习,辰哥把本文的完整源码**上传,需要的通过同名公众回复:**新闻
本文讲解了如何去采集新浪网新闻数据并绘制词云图展示分析。
|