请问da lao,为啥会出现这个错误呀?(python初学者懵逼且卑微ing)
json.decoder.JSONDecodeError: Extra data: line 1 column 2823 (char 2822)
import requests
import re
import json
url = "https://desk.zol.com.cn/bizhi/8365_103747_2.html"
resp = requests.get(url)
# print(resp.text)
obj = re.compile(r"var deskPicArr.*?=(?P.*?;)" , re.S)
result = obj.search(resp.text)
deskPicStr = result.group("deskPicArr")
# print(deskPicStr)
deskPic = json.loads(deskPicStr)
print(deskPic)
因为他的确不是一个合法的json数据,最后多了个分号
这个错误提示通常表示 JSON 数据格式错误,其中 line 1 是指 JSON 数据的第一行,column 2823 表示在第一行的第 2823 个字符处出现了问题。错误信息的最后一个括号 (char 2822) 表示问题出现在该字符之前。
该错误通常出现在 JSON 数据中存在多余的内容(Extra data),即 JSON 数据格式不正确,导致解析失败。常见原因有:
JSON 数据中包含了非 JSON 格式的数据,如 Python 的 None、True、False,或者是注释。
JSON 数据中包含了多个 JSON 对象或数组,但是并没有用数组或对象进行包裹,或者多个 JSON 数据之间没有使用逗号分隔。
可以尝试检查一下 JSON 数据格式是否正确,是否存在多余的内容或者格式错误