python疫情数据爬虫踩坑记

python疫情数据爬虫踩坑记,第1张

python疫情数据爬虫踩坑记

由于查了很多资料,发现丁香园越来越dog了,前端找不到数据了(白嫖失败

 

我把目光放到了腾讯爸爸的身上 当然也是参照了一个视频下面的学霸博主的文章,

 实时更新:新冠肺炎疫情最新动态 (qq.com)

快乐的F12 然后F5 用巧妙的搜索 在表头找到url!!

然后用浏览器打开这个url,芜湖 就是国内疫情数据的快乐呀~https://api.inews.qq.com/newsqa/v1/query/inner/publish/modules/list?modules=statisGradeCityDetail,diseaseh5Shelf

 然后我们创建一个py的file

1、我们需要找到数据源(get)

2、创建连接 requests(方法是在cmd不用打开python直接输入 pip install requests)

3、获取数据 我们需要打印这个url中的json 就用

#2、获取数据
#:响应体:状态码 发送请求成功
# print(response.text)#打印网址中的text
# 数据解析:xpath css re bs4(现在不用了)
# json字典类型 {K1:V1,K2:V2,K3:V3}
# 把网站中的一些部分删掉 来让数据分析简单一点
# print(response.json())
# json_data = response.json()["data"] #是json类型的数据
#打印data的json数据
# print(json_data)

可以直接打印出text里的data的json类型的数据

3、解析数据

# 3、解析数据
# 转变为字典类型 import json
# json.loads(json_data)
json_data= json.dumps(response.json()['data'])
pprint.pprint(json_data)

但是我疯狂报错- - 就是说 

the JSON object must be str, bytes or bytearray, not dict

查了资料后发现是关于loads和dumps的这个大原因!!(自己查资料哈)

原来写的是

json_data= json.loads(response.json()['data'])

改进之后

很好还是错的 我就是不清楚那个loads

(1条消息) json.loads()和response.json()的区别_touryung的博客-CSDN博客_json.loads(response.text) 然后终于找到了答案!!!!!

就是本来读取出来的就是json 不需要从dict转过来了

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5711789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存