json.loads()
Webページから解析したJSON文字列があり、それを使用してPython辞書に変換しようとしています。ただし、JSON文字列の一部の値には二重引用符が含まれています。
'{"title": "The "Star Wars Kid": Where is he now?"}'
明らかに、これは適切なJSON文字列ではなく、json.loads()
文句を言います。これは単一の文字列であるため、のようなものを使用してもstring.replace('"', '\\"')
機能しません。これを行うと、正しい二重引用符と悪い引用符に影響します。
ちなみに、これはスクレイピング時にHtmlXPathSelectorエラーを引き起こしません。これは、Webページでは、悪い引用符がそのようにエンコードされているためです。
'{"title": "The "Star Wars Kid": Where is he now?"}'
この文字列をで正しく解析するにはどうすればよいjson.loads()
ですか?
編集:エンコードされた引用符がデコードされる前に文字列を解析するのは簡単だと理解しているので(2番目の例のように)、私が本当に求めているのは、このタイプのまだエンコードされた結果をpythonHtmlXPathSelector。
スクレイピングしているHTMLドキュメントにこの文字列が含まれている場合
'{"title": "The "Star Wars Kid": Where Is He Now?"}'
エンコードされた引用符をデコードせずに、HtmlXPathSelectorにその正確な文字列を返すようにするにはどうすればよいですか?