0

次を使用して、ヘブライ文字を含むWebページを読みました。

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

私が得た結果はまちまちで、一部の文字は私が処理できるユニコードとして戻ってきます。

一部の応答が文字化けしているようです。認識できないフォーマットで。受信したテキストの例は次のとおりです。שלך

より正確には、次のようになります(スニペットのみ...):

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

div間のテキストがスクランブルされているようです。Unicodeに変換できますか?

4

1 に答える 1

3

HTML エンティティを見ています。HTMLParserライブラリを使用してこれらをデコードします。

>>> 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()
于 2013-02-07T13:58:34.970 に答える