环境说明
爬虫环境:
Python3
IDE:Pycharm
爬虫工具包:
requests
BeautifulSoup
json
从腾讯新闻网爬取
使用chrome浏览器对腾讯新闻网进行页面元素审查,进入network,刷新,查看response:
寻找到这三个js文件,发现其中以json格式存储了新冠肺炎疫情数据。
进入Headers,对请求头进行分析,发现有效的URL分别为
https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5
https://view.inews.qq.com/g2/getOnsInfo?name=disease_other
https://view.inews.qq.com/g2/getOnsInfo?name=disease_foreign
进入第一个URL:
为中国各省份实时数据;
进入第二个URL:
为中国历史疫情数据,包含确诊,新增确诊,死亡,现存确诊,现存治愈,死亡率,治愈率等信息。
进入第三个URL:
为全球新冠肺炎历史数据。
爬虫代码(以爬取中国新冠疫情历史数据为例):
分析后发现缺少全球新冠肺炎历史数据
继续分析network返回的响应,
发现有效的URL为:
https://api.inews.qq.com/newsqa/v1/automation/foreign/daily/list?country=%E6%84%8F%E5%A4%A7%E5%88%A9&
其中country后的参数即为该国家新冠肺炎历史数据
从Tushare金融大数据社区获取新冠肺炎数据
由于腾讯新闻网存在改版的问题,每次改版后都要重新分析网页响应包,于是思考有没有更加方便的爬取数据的方法,经过搜索,发现了Tushare金融大数据社区。
网址:https://www.waditu.com/document/2?doc_id=213
获取流程:
注册、登陆
获取该社区的Token,使用指定的URL接口与参数获取新冠肺炎数据。
python代码:
从世界卫生组织获新冠肺炎疫情数据
在使用Tushare社区获取数据时,发现了部分国家数据缺失,以及该社区更新时间不确定的问题。突然想到这些平台的数据是从哪里得到的?于是去WHO官网一探究竟。
网址:https://ourworldindata.org/covid-sources-comparison
发现WHO共享全球新冠肺炎数据。
从github上下载后,发现WHO的数据包括:总病例、新增病例、总死亡、新增死亡、每百万人总病例、每百万人新增病例、每百万人总死亡…等。
数据类型最为全面,但没有中国各省份的详细数据。
综合:
综合以上三个阶段,可以几乎得到所有新冠肺炎疫情有关数据。
爬取新冠肺炎问答对见我的另一篇博客:https://blog.csdn.net/NiZjiTouA/article/details/107094238