5分钟!手把手教你用python爬取国内外最新疫情历史数据!
俗话说的好,“授之以鱼不如授之以渔”,所以小编今天就把爬疫情历史数据的方法分享给你们。
基本思路:分析腾讯新闻“抗肺炎”版块,采用“倒推法”找到疫情数据接口,然后用python模拟请求,进而保存疫情历史数据。
第一步:分析数据接口
1.进入海外疫情主页,分析海外各国疫情历史数据接口:
https://news.qq.com/zt2020/page/feiyan.htm#/global
打开流量分析工具,以“美国”为例,点击详情
选中第一个出现的json文件,发现响应数据为美国从1月28日至今天的疫情数据,包括确诊新增(confirm_add)、确诊(confirm)、治愈(heal)以及**(dead)数据。
该次请求的具体信息为:
以post请求的方式,网址为:
https://api.inews.qq.com/newsqa/v1/automation/foreign/daily/list?country=国家名称
2. 进入国内疫情主页,分析国内各省疫情历史数据接口:
https://news.qq.com/zt2020/page/feiyan.htm#/global
打开流量分析工具,以“黑龙江”为例,点击详情
选中第一个出现的json文件,发现响应数据为黑龙江从1月28日至今天的疫情数据,包括确诊新增(confirm_add)、确诊(confirm)、治愈(heal)以及**(dead)数据
该次请求的具体信息为:
以post请求的方式,网址为:
https://api.inews.qq.com/newsqa/v1/query/pubished/daily/list?province=各省名称
3.同理分析出省内各市的历史数据接口:
以post请求的方式,网址为:
https://api.inews.qq.com/newsqa/v1/query/pubished/daily/list?province=省名称&city=市名称
4.分析找到海外各国、国内各省、省内各市的名称
打开流量分析工具,在网址中输入:
https://news.qq.com/zt2020/page/feiyan.htm#/global
①打开请求网址为:
https://view.inews.qq.com/g2/getOnsInfo
name=disease_foreign&callback=jQuery34105534161076800497_1587272333891&_=1587272333892
的响应窗口:
返回数据中包含所有国家的名称。
②打开请求网址为:
https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&callback=jQuery34105534161076800497_1587272333887&_=1587272333888
的响应窗口:
返回数据包含全国各省市的名称。
第二步:开始写程序
1.模拟爬取海外各国历史疫情数据
根据第一步分析结果,先爬取各个国家名称,然后构造url爬取各个国家的历史数据代码如下:
2.模拟爬取国内各省疫情数据根据第一步分析结果,先爬取各个省的名称,然后构造url爬取各个省的历史数据,代码如下:
3.模拟爬取省内各市疫情数据
根据第一步分析结果,先爬取该省各市的名称,然后构造url爬取各个市的历史数据,代码如下:
第三步:效果展示
1.海外各国疫情数据:
2.国内各省疫情数据:
3.黑龙江各市疫情数据:
看完这篇文章,你是否对Python学习有了更多了解呀?学到了专业知识,又要怎样才能在面试中发挥呢?
求职季到了,怎样更好地准备面试,备战求职,斩获offer呢?实践出真知,通过模拟面试来进行实战训练吧!
篱笆教育【模拟面试服务】
为你还原最真实的面试现场,高效提升面试能力!
顶尖公司资深面试官一对一模拟面试,指导老师全方位辅导。身临其境体验最真实的面试环境,全面细致为你查缺补漏!(扫描海报二维码即可报名)
往期文章速递