2020年1月23日,睡醒一觉,发现新型肺炎的影响正在以肉眼可见的速度扩散,已经放假的我只能宅在家里,不敢随便外出。实在闲得无聊,我便拿起了技术人的工具,利用python,用数据来简单分析一波新型肺炎的影响程度,同时,大人们对这次事件好像毫无畏惧,多次提醒出门要小心留意,结果大人们也只是敷衍回答:没事。所以,咱们用数据来说话,通过最近网上的热搜数据让家长们重视起来。

获取热搜数据

那需要的微博热搜历史数据在哪找?借助【热搜神器】网站,可以查找微博热搜历史记录。

如上图,打开【热搜神器】网站,F12进入Network查看Request URL,通过点击可以发现URL中只有timeid是变化的,所以就找到了所需要的URL,即url = 'https://www.eecso.com/test/weibo/apis/currentitems.php?timeid=' + str(time_id),而最新的timeid可以通过另一地址获取:https://www.eecso.com/test/weibo/apis/getlatest.php。在这里我使用了2020-01-01到2020-01-23 0点和12点两个时间点的time_id,遍历这个区间,通过requests即可获取2020年1月1日到最新日期的热搜数据。

处理数据

请求返回的数据是json格式的数据,通过json解析处理后保存到列表中,同时我也另存到csv格式文件中备份了数据。部分代码如下所示。

def requests_web_data(url):try:headers = {"User-Agent": "", "Cookie": ""}r = requests.get(url, headers=headers)r.raise_for_status()r.encoding = r.apparent_encodingexcept:print('requests error!')else:return r.contentdef get_weibo_historical_data():latest_time_id_url = 'https://www.eecso.com/test/weibo/apis/getlatest.php'latest_time_id = json.loads(requests_web_data(latest_time_id_url).decode('utf-8'))[0]  # 筛选获取time_idtime_ids = []for x in range(48438, int(latest_time_id) + 1, 180):    # time_id=48438:2020-01-01time_id_url = 'https://www.eecso.com/test/weibo/apis/getlatest.php?timeid=' + str(x)time_data = json.loads(requests_web_data(time_id_url).decode('utf-8'))if time_data is not None:time = time_data[1].split(' ')[1].split(':')[0]if time == '00' or time == '12':time_ids.append(time_data[0])if time_ids[-1] != latest_time_id:time_ids.append(latest_time_id)#通过筛选的time_id获取一月份的热搜数据weibo_hot_data = []for time_id in time_ids:historical_data_url = 'https://www.eecso.com/test/weibo/apis/currentitems.php?timeid=' + str(time_id)data = json.loads(requests_web_data(historical_data_url).decode('utf-8'))weibo_hot_data.append(data)return weibo_hot_data

数据分析

通过以上操作已经获取到了需要的热搜数据,接下来就是通过pyecharts进行数据分析。写这篇文章时,获取到的数据时间段为2020年1月1日到2020年1月23日。

1、1月份TOP20热搜数据

1月份热搜数量最大的前20个数据,几乎一半是关于新型肺炎的。其他事件也有些是由肺炎引发的,如最新的春节档电影全部撤档也是因为在一个封闭的空间看电影存在着一定风险导致取消了春节电影档,但我是大力支持撤档的,毕竟关键时期对自己负责也就是对他人负责。

2、1月份武汉新型肺炎相关热搜的爬升程度

从图可以明显看到,1月初已经有肺炎相关的热搜信息,但这期间关于肺炎的信息时有时无,说明大家对肺炎的事情是还没有放在心上的,直到18号左右,有关肺炎的热搜信息就开始出现井喷,我记得那时候是因为ZF公布了病例的相关情况(出现死亡了),这也基本符合各大媒体对其的报道数量趋势,说明18号开始人们对该事件重视起来了,这也导致后面的口罩出现售空,限购。

3、武汉新型肺炎相关的热搜事件

大家都搜索新型肺炎以下几方面的信息,基本上是围绕着武汉、肺炎、预防和口罩等关键字。

4、词云显示武汉新型肺炎相关的热搜事件

最后通过词云,我们可以更加明显的看到大家关注的信息点。

5、结语

各种如何预防病毒,病毒信息等网上,电视上都很多了,我这里就不附图了,最后:

附丁香医生的全国新型肺炎疫情实时动态网址:https://3g.dxy.cn/newh5/view/pneumonia?from=timeline&isappinstalled=0

如有问题,可联系我

【Python】我用python爬取一月份微博热搜数据来分析人们对新型肺炎的关注程度变化相关推荐

  1. Python爬取微博热搜数据之炫酷可视化

    可视化展示 看完记得点个赞哟 微博炫酷可视化音乐组合版来了! 项目介绍 背景 现阶段,微博.抖音.快手.哗哩哗哩.微信公众号已经成为不少年轻人必备的"生活神器".在21世纪的今天, ...

  2. python爬取微博热搜数据并保存!

    主要用到requests和bf4两个库将获得的信息保存在d://hotsearch.txt下importrequests;importbs4mylist=[]r=requests.get(ur- 很多 ...

  3. Python爬虫系列之爬取微信公众号新闻数据

    Python爬虫系列之爬取微信公众号新闻数据 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发 > 点击这里联系我们 < 微信请扫描下方二维码 代码仅供学习交流 ...

  4. 爬取微博实时热搜数据可视化分析

    文章目录 爬取微博实时热搜数据可视化分析 一.爬取数据 1.1 Spider主要函数 1.2 根据微博一分钟更新一次的状态进行爬虫 二.可视化 2.1 利用轮播图加柱状图进行可视化 爬取微博实时热搜数 ...

  5. 【Python】爬虫获取微博热搜数据,response中文显示“\u7814\u7a76\u8bc1\u5b9e\u”

    问题描述 在爬虫获取微博热搜数据的时候,response中文出现了不便于理解的字段,截取如下: ......[{"title_sub":"\u7814\u7a76\u8b ...

  6. 爬取猫眼电影影评,数据可视化分析源代码运行说明

    欢迎关注微信公众号:简说Python 账号:xksnh888 关注回复:1024,可以领取精选编程学习电子书籍. 爬取猫眼电影影评,数据可视化分析 项目地址 :github项目地址 之前一直有同学说不 ...

  7. 用Python爬取微博热搜数据

    废话少说,直接上代码,然后再详细介绍构造过程. 代码 import urllib.request import re import pandas as pd import time import ra ...

  8. Python Scrapy 爬虫框架爬取推特信息及数据持久化!整理了我三天!

    最近要做一个国内外新冠疫情的热点信息的收集系统,所以,需要爬取推特上的一些数据,然后做数据分类及情绪分析.作为一名合格的程序员,我们要有「拿来主义精神」,借助别人的轮子来实现自己的项目,而不是从头搭建 ...

  9. 15--jQuery插件大全-- 使用jsoup爬取酷我音乐和微博热搜数据

    目录 歌曲来自于酷我音乐热歌榜 热搜数据来自于微博热搜 库我音乐前台代码如下: 库我音乐后台代码如下: Servlet代码: model代码: HTTPUtils工具类 微博热搜前台代码如下: 微博热 ...

最新文章

  1. 软件之最大全电子书免费版
  2. OpenNESS 的 5GC 融合实践
  3. 关于4.8节第一个例子
  4. 在长文本中当中使用正则表达式匹配限定长度范围的数字串的方法
  5. 每周论文清单:对话系统综述,全新中文分词框架,视频生成,文字识别
  6. 比特(bit)和字节(byte)(1byte=8bit)
  7. MySQL系列:数据类型、运算符及函数(5)
  8. Spring Boot Initilizr Web界面
  9. Chrome 错误代码:ERR_UNSAFE_PORT
  10. 视觉SLAM十四讲学习笔记---前三讲学习笔记总结之SLAM的作用、变换和位姿表示
  11. iOS 音乐播放器之锁屏效果+歌词解析
  12. 罗永浩与银联合作直播,但因过程太流畅被网友调侃是录播
  13. HTML实现选择数据库字段,django项目中在后台获取了数据库的某一列,如何将其显示在html模板中的select标签内的option选项下?...
  14. TCP 三次握手 四次挥手
  15. 计算机网络超详细笔记(六):传输层
  16. python turtle graphics自动关闭_解决Pycharm调用Turtle时 窗口一闪而过的问题
  17. 有赞 WEB-UI 自动化实践
  18. status 状态为 pending
  19. 备战金九银十!2022Java面试必刷461道大厂架构面试真题汇总+面经+简历模板都放这了,注意划重点!!
  20. 什么是系统漏洞,如何处理?

热门文章

  1. 2022百度收录批量自动推送助手
  2. leetcode98.验证二叉搜索树 Python
  3. 选择比努力更重要,这些微信号值得你细细品味
  4. 实验八:无线城域网ViMax仿真实验
  5. 2022年最新吉林道路运输安全员模拟真题题库及答案
  6. Grub2的一些典型菜单写法
  7. 少女心多功能便签本,少女心便签软件办公版
  8. Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
  9. thymleaf对实体 “pageindex“ 的引用必须以 ‘;‘ 分隔符结尾
  10. Eclipse一直提示 Loading descriptor for xxx 的问题