代码运行结果提示结果如下,
代码如下
import requests
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5977.400 LBBROWSER/10.1.3752.400"}
res_music = requests.get(' https://aiqicha.baidu.com/detail/basicAllDataAjax?pid=43252658652170%27,headers=headers )
json_music = res_music.json()
list_music = json_music["data"]["basicData"]["insuranceInfo"]
print(list_music)
只提data,也提示keyerror,要怎么修改呢?
要添加Referer头,要不返回的是{'status': -1, 'msg': '非法操作'}内容,当然会出错。。。有帮助麻烦点个采纳【本回答右上角】,谢谢~~
import requests
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5977.400 LBBROWSER/10.1.3752.400",
"Referer":"https://aiqicha.baidu.com/company_detail_83441420303286"}
res_music = requests.get('https://aiqicha.baidu.com/detail/basicAllDataAjax?pid=43252658652170',headers=headers)
json_music = res_music.json()
list_music = json_music["data"]["basicData"]["insuranceInfo"]
print(list_music)
res_music返回非法请求,无‘data'无data'键,所以报错,原因是在headers有些参数 没有传递,请求不被许可。
示例如下,可以获取数据:
import requests
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5977.400 LBBROWSER/10.1.3752.400", 'Referer': 'https://aiqicha.baidu.com/s?q=%E7%99%BE%E5%BA%A6&t=0','X-Requested-With': 'XMLHttpRequest'}
res_music = requests.get('https://aiqicha.baidu.com/index/latestClaimAjax', headers=headers)
json_music = res_music.json()
print(json_music)
print(json_music)输出看下内容。
先打印 json_music来看看有没有数据