0

我有一个从网页解析的 JSON 字符串,我正试图用json.loads()它来将其转换为 Python 字典。但是,JSON 字符串中的某些值包含双引号,例如

'{"title": "The "Star Wars Kid": Where is he now?"}'

显然这不是一个正确的 JSON 字符串,并且会json.loads()抱怨。使用类似的东西string.replace('"', '\\"')也不起作用,因为这是一个单一的字符串,这样做会影响正确的双引号以及坏的双引号。

顺便说一句,这不会在抓取时导致 HtmlXPathSelector 错误,因为在网页上,错误的引号是这样编码的

'{"title": "The "Star Wars Kid": Where is he now?"}'

如何正确解析此字符串json.loads()

编辑:我知道在编码的引号被解码之前解析字符串会很简单(如第二个示例所示),所以我想我真正要问的是如何从python HtmlXPathSelector。

如果我正在抓取的 HTML 文档包含此字符串

'{"title": "The "Star Wars Kid": Where Is He Now?"}'

如何让 HtmlXPathSelector 在不解码编码引号的情况下返回该确切字符串?

4

1 回答 1

2
{"title": "The "Star Wars Kid": Where is he now?"}

这是您想要解码 JSON 的时候。然后稍后替换“坏引号”。

于 2012-07-03T15:29:34.123 回答