为了账号安全,请及时绑定邮箱和手机立即绑定

Python :ValueError: 没有 JSON 对象可以被解码

Python :ValueError: 没有 JSON 对象可以被解码

POPMUISE 2022-08-25 15:26:02
我正在访问一个json数据,并希望在pandas数据帧中转换它。不幸的是,在以下情况下发生错误json.loads(req.text)ValueError: No JSON object could be decoded下面是我的代码。HEADERS = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36",          "Origin": "https://www.idx.co.id"}req = requests.get("https://www.idx.co.id/Portals/0/StaticData/HomeHtml/data.js",                  headers=HEADERS)stocks = json.loads(req.text)columns = ['code', 'name']df = pd.DataFrame([{k: v for k,v in d.items() if k in columns}              for d in stocks, columns = columns)
查看完整描述

1 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

您实际上收到的不是 JSON,而是 Javascript 文件。应用简单的正则表达式匹配所有数据之间可以达到预期的结果。[]


import requests

import json

import re


req = requests.get("https://www.idx.co.id/Portals/0/StaticData/HomeHtml/data.js")

content = re.findall(r"= (\[.*?\]);", req.text)

data = json.loads(content[0])

print(data)

编辑:一个有用的网站来测试python正则表达式是 https://pythex.org/


查看完整回答
反对 回复 2022-08-25
  • 1 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号