我正在使用Scrapy進行網絡抓取。在<code>
標籤之間的類似網站已經嵌入了JSON:json.loads失敗,「沒有JSON對象可以被解碼」
<code id="content" style="display:none;"><!--{"content": "text1",...,..., "compute": "text2"}--></code>
使用XPath,我能提取裏面<code>
標籤註釋。使用:
hxs.select("//code[@id='content']/comment()").extract()
後分條評論文字,內容有content = "{"content": "text1",...,..., "compute": "text2"}"
在建設使用json.loads(內容)JSON,我得到"ValueError: No JSON object could be decoded"
錯誤。
另外,STR(內容)拋出:在106512
"UnicodeEncodeError: 'ascii' codec can't encode characters in position 106512-106513: ordinal not in range(128)"
值是預先'\xa7'
感謝。
你可以發佈'print(content)'的輸出嗎? –
它的大,大約280500個字符。但是我已經打印了106512的值。 – rajpy
'UnicodeEncodeError'可能與'ValueError'無關。顯然你的'content'是'unicode'(不是'str')和'str()'扼流圈,但是'json.loads'沒有必要。但是你可以嘗試'json.loads(content.encode('utf-8'))'(或其他適當的編碼)。 –