栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python疫情数据爬虫踩坑记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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转过来了

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/715146.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号