其他
今日头条海外疫情数据爬取
本文作者:宁刘莹
文字编辑:钱梦璇
导读
时至四月,国内疫情逐渐稳定,而海外的疫情却仍旧在蔓延,未能得到有效的控制,究竟海外疫情发展到了什么程度?今天我们就从今日头条上爬取实时数据来一探究竟。
import requests
import pandas as pd
import json
import numpy as np
url = 'https://i.snssdk.com/forum/ncov_data/?data_type=%5B4%2C5%5D&country_id=%5B%22CHN%22%2C%22ITA%22%2C%22USA%22%2C%22ESP%22%2C%22DEU%22%2C%22KOR%22%2C%22JPN%22%2C%22GBR%22%2C%22IRN%22%2C%22CAN%22%2C%22FRA%22%2C%22SGP%22%2C%22IND%22%5D'
headers = {
'accept': 'application/json, text/javascript',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'content-type': 'application/x-www-form-urlencoded',
'cookie': 'SLARDAR_WEB_ID=0e8e3b72-ec18-4f97-a5ea-44c2bf6ef717',
'referer': 'https://i.snssdk.com/ugc/hotboard_fe/hot_list/template/hot_list/forum_tab.html',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36',
'x-requested-with': 'XMLHttpRequest'
}
html= requests.get(url)
print(html)
htmltext=html.text
htmlpage=json.loads(htmltext)
overseas_data=htmlpage['overseas_data']
htmldic = json.loads(overseas_data)
totallist = htmldic['country']
print(totallist)
name=[]
confirmedTotal=[]
confirmedIncr=[]
confirmedPerMil=[]
for unit in totallist:
name.append(unit['name'])
confirmedTotal.append(unit['countryTotal']['confirmedTotal'])
confirmedIncr.append(unit['countryIncr']['confirmedIncr'])
confirmedPerMil.append(unit['confirmedPerMil'])
fin=[]
for i in zip(name,confirmedTotal,confirmedIncr,confirmedPerMil):
#print(list(i))
fin.append(list(i))
df=pd.DataFrame(fin,columns=['国家', '累计确诊', '新增确诊', '每百万人口确诊数'])
file='./overseas.xlsx'
df.to_excel(file)
关于我们
微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。