我想要以下网站的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 ط¨ط§ ظ…ظˆط¶ظˆط¹</em>
ظ…غŒظ„ط§ط¯ طط¶ط±طھ ط²ظ‡ط±ط§ ط¹ظ„غŒظ‡ط§ ط§ظ„ط³ظ„ط§ظ…
</div>
<div class="content richcontent" style="display:none;">
我想要下面的结果
<div class="header" title="فایلهای سعید حدادیان / سال 1389 با موضوع 'مناجات'">
<em>فایلهای سعید حدادیان / سال 1389 با موضوع</em>
مناجات
</div>
<div class="content richcontent" style="display:none;">
我怎么能解决它?
答案 0 :(得分:3)
您正在将编码数据打印到控制台,而不会改变编码。
内容类型标题声明数据以UTF-8编码,但您使用拉丁编解码器将其打印到控制台。
首先将数据解码为Unicode:
response = urllib2.urlopen("http://www.rasekhoon.net/media/3882/page1/")
html = file.read().decode('UTF8')
您可能无法将生成的Unicode值打印到您的控制台;如果它无法对特定代码点进行编码,那么您将获得UnicodeEncode
个例外。这不是内容的问题,而是您的控制台。