穿胖次的夏雨来 2021-02-10 15:42 采纳率: 14.3%
浏览 49
已采纳

python中关于处理json数据问题

import requests
import json


headers = {
        'Connection': 'keep-alive',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36',
        'Accept': '*/*',
        'Referer': 'http://data.eastmoney.com/',
        'Accept-Language': 'zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6',
    }

url = 'http://push2.eastmoney.com/api/qt/ulist.np/get?cb=jQuery1123047756628911864274_1612930605920&fltt=2&secids=0.002594&fields=f62%2Cf184%2Cf66%2Cf69%2Cf72%2Cf75%2Cf78%2Cf81%2Cf84%2Cf87%2Cf64%2Cf65%2Cf70%2Cf71%2Cf76%2Cf77%2Cf82%2Cf83%2Cf164%2Cf166%2Cf168%2Cf170%2Cf172%2Cf252%2Cf253%2Cf254%2Cf255%2Cf256%2Cf124%2Cf6%2Cf278%2Cf279%2Cf280%2Cf281%2Cf282&ut=b2884a393a59ad64002292a3e90d46a5'
html = requests.get(url,headers = headers)

content = html.text
print(type(content))
data = json.loads(content)

该代码运行的时候报错

这是不是因为返回的json数据格式不对导致的?

  • 写回答

3条回答 默认 最新

  • 天际的海浪 2021-02-10 15:59
    关注
    html.text 获取的是jsonp格式, 比json格式多套了一个函数调用。
    jQuery1123047756628911864274_1612930605920(  );
    把这个函数调用去掉即可。
    content = re.findall(r'^jQuery\w+\((.+)\);$',html.text)[0]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?