2
我試圖抓取一些網站的一部分。該腳本有效,但它是一個有á,é,í,ó,ú等口音的網站。urllib:獲取utf-8編碼的網站源代碼
當我使用urllib或urllib2獲取網站時,網站源代碼不是用utf-8編碼的,我希望它是utf-8支持這些重音符號。
我相信目標網站是UTF-8,因爲它包含了以下meta標籤編碼:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
我的Python腳本:看起來
opener = urllib2.build_opener()
opener.addheaders = [('Accept-Charset', 'utf-8')]
url_response = opener.open(url)
deal_html = url_response.read().decode('utf-8')
不過,我不斷收到結果就像他們沒有編碼un utf-8一樣。
E.g: 「米蘭」 的網站= 「軍用\ xe1n」 後的urllib2獲取它
有什麼建議?
好吧,我現在看到,當我打印「Mil \ xc3 \ xa1n」時,它返回Milán,這是完美的。但是,當我從源代碼中獲取字符串並將它們追加到列表中時,我會得到「Mil \ xc3 \ xa1n」。我怎樣才能使這個可讀的(即米蘭)在列表或字典? – 2012-04-06 21:16:39
該列表調用其中每個項目上的'repr()',這就是擴展字符被轉義的原因。如果你需要一個更易讀的表示來進行調試,只需要像'[str(x)for m in mylist]'。 – kindall 2012-04-06 22:20:39