簡體   English   中英

Xml Python-格式不正確

[英]Xml Python - not well-formed

我有以下代碼:

import requests
from xml.dom.minidom import parseString
site = 'test.com'
r = requests.get('http://bar-navig.yandex.ru/u?ver=2&url=http://%s&show=1' % (site))
#print r.text.encode('utf-8')
xmldoc = parseString(r.text.encode('utf-8'))
print xmldoc.getElementsByTagName('tcy')[0].attributes['value'].value

因此,它可以工作,但是如果我在site ,例如'vk.com''google.ru' ,則會出現錯誤: xml.parsers.expat.ExpatError: not well-formed (invalid token)

如何解決? 謝謝。

這是一個編碼問題。 除非另有說明,否則XML應該基於ASCII。 特別是,此XML源指定將其編碼為windows-1251

嘗試這個:

parseString(r.text.encode('windows-1251'))

然后可以對其進行解析。

Minidom不是很聰明,否則在傳遞unicode時,它就能自行弄清楚(無效)。

我嘗試使用iso-8859-1以外的'utf-8'和'utf-16'編碼,但它不起作用(對於某些印度網站,盡管我未能注意到它們上的任何非ascii字符) 。 但是我改用硒,一切都解決了。 避免輕巧也不是那么困難,因為硒的界面與輕巧非常相似。 干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM