我正在抓取一个网站,它有这个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"))
还有更多,但没有一个适合我。
答案 0 :(得分:3)
字符串中的\x3E
个字符存在问题。如果s
包含字符串,请尝试以下操作:
json.loads(s.replace(r'\x3E', '\x3E'))