2013-02-07 85 views
0

讀希伯來語我讀取包含希伯來語字符,使用網頁:隨着蟒蛇的urllib2

response = ('').join(opener.open(url).readlines()) 

結果我得到的是混合的,某些字符回來爲Unicode,這是我能處理。

一些響應似乎是亂碼。我無法識別的格式。 一個在收到文字的例子是: ש ל ך

更確切地說,它看起來像這樣(只是一個片段...):

<h3 class="_52r al aps">About ‎גדי‎</h3><div>&#x5e9;&#x5dc;&#x5da; ....</div> 

文本的div之間似乎打亂。我可以將其轉換爲unicode嗎?

+0

你的意思是你不能處理ש? – wRAR

+0

爲什麼使用'''.join()'時,你可以直接使用'.read()'而不是? –

+0

我可以處理ש,但這不是我應該得到的,我無法理解如何將它變成unicode。它應該是'שלך...' – eran

回答

3

您正在查看HTML實體;使用HTMLParser library解碼這些:

>>> import HTMLParser 
>>> h = HTMLParser.HTMLParser() 
>>> print h.unescape('&#x5e9;&#x5dc;&#x5da;') 
שלך 
>>> h.unescape('&#x5e9;&#x5dc;&#x5da;') 
u'\u05e9\u05dc\u05da' 

要閱讀完整的urllib2迴應,只是用.read()

response = opener.open(url).read()