0

我想要以下网站的 html 代码
http://www.rasekhoon.net/media/3882/page1/
我通过下面的代码得到它

file = urllib2.urlopen("http://www.rasekhoon.net/media/3882/page1/")
string= file.read()

当我打印它时

    <div class="header" title="ظپط§غŒظ„ظ‡ط§غŒ ط³ط¹غŒط¯ ط­ط¯ط§ط¯غŒط§ظ† / ط³ط§ظ„ 1389 ط¨ط§ ظ…ظˆط¶ظˆط¹ 'ظ…غŒظ„ط§ط¯ ط­ط¶ط±طھ ط²ظ‡ط±ط§ ط¹ظ„غŒظ‡ط§ ط§ظ„ط³ظ„ط§ظ…'">
        <em>ظپط§غŒظ„ظ‡ط§غŒ ط³ط¹غŒط¯ ط­ط¯ط§ط¯غŒط§ظ† / ط³ط§ظ„ 1389 ط¨ط§ ظ…ظˆط¶ظˆط¹&lt;/em>&nbsp;&nbsp;
        ظ…غŒظ„ط§ط¯ ط­ط¶ط±طھ ط²ظ‡ط±ط§ ط¹ظ„غŒظ‡ط§ ط§ظ„ط³ظ„ط§ظ…
    </div>
    <div class="content richcontent" style="display:none;">

我想要下面的结果

<div class="header" title="فایلهای سعید حدادیان / سال 1389 با موضوع 'مناجات'">
        <em>فایلهای سعید حدادیان / سال 1389 با موضوع</em>&nbsp;&nbsp;
        مناجات
    </div>
    <div class="content richcontent" style="display:none;">

我该如何解决?

4

1 回答 1

3

您正在将编码数据打印到控制台,而不更改编码。

content-type 标头指出数据以 UTF-8 编码,但您正在使用拉丁编解码器将其打印到控制台。

首先将数据解码为 Unicode:

response = urllib2.urlopen("http://www.rasekhoon.net/media/3882/page1/")
html = file.read().decode('UTF8')

可能无法将生成的 Unicode 值打印到控制台;如果它不能编码特定的代码点,那么你会得到UnicodeEncode异常。这不是内容的问题,而是您的控制台的问题。

于 2013-11-04T13:45:40.267 回答