python - ValueError : Invalid\escape: error while doing json. 加载()

标签 python python-2.7 scrapy

我正在抓取一个网站,它返回此 JSON 数据。

https://pastebin.com/R50eTqrD这是 print( repr( string ) ) 的输出 https://pastebin.com/VH6JrDMG这是 print( string )

的输出

我在做

resp = json.loads(resp)

但是它给了我这个错误

ValueError: Invalid \escape: line 1 column 170 (char 169)

我找到了解决方案here它建议我这样做

resp = json.loads(HTMLParser().unescape(resp.decode('unicode-escape')))

但它现在抛出这个错误

UnicodeEncodeError: 'ascii' codec can't encode characters in position 51-59: ordinal not in range(128)

我尝试了几种解决方案,例如

json.loads(HTMLParser().unescape(resp.decode('unicode-escape')).encode("utf-8"))

还有很多,但没有一个对我有用。

最佳答案

字符串中的那些 \x3E 字符有问题。如果 s 包含字符串,请尝试以下操作:

json.loads(s.replace(r'\x3E', '\x3E'))

关于python - ValueError : Invalid\escape: error while doing json. 加载(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48072862/

相关文章:

Python + setuptools : distributing a pre-compiled shared library with boost. python 绑定(bind)

python - 如何获得正在运行的 Python 脚本的列表?

python - Django 分组依据变量

web-scraping - 在 scrapy.Request 中添加 dont_filter=True 参数如何使我的解析方法起作用?

xpath - 粗暴地指回原始页面而不是下一页

python - 已安装 Scrapy,但不会从命令行运行

python - Mac OSX 上的 Paraview 和 Python

python - 使用Python和Tesseract OCR解决Captcha

python - 如何使 while 迭代更快?

python - 如何使用 'for' 循环在 Python 2.7 中迭代嵌套列表索引项?