【发布时间】:2012-07-03 15:27:21
【问题描述】:
我有一个从网页解析的 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 在不解码编码引号的情况下返回确切的字符串?
【问题讨论】: