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

我正在访问一个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)


POPMUISE
浏览 136回答 1
1回答

开心每一天1111

您实际上收到的不是 JSON,而是 Javascript 文件。应用简单的正则表达式匹配所有数据之间可以达到预期的结果。[]import requestsimport jsonimport rereq = 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/
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python