2013-11-04 3 views
0

나는 사이트 아래
http://www.rasekhoon.net/media/3882/page1/
의 HTML 코드를 원하는 그리고 난 다음 코드urllib2 및 아랍어 버그를 디버그하는 방법은 무엇입니까?

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

하여 얻을 나는 그것을 인쇄 할 때

<div class="header" title="ظپط§غŒظ„ظ‡ط§غŒ ط³ط¹غŒط¯ ط­ط¯ط§ط¯غŒط§ظ†/ط³ط§ظ„ 1389 ط¨ط§ ظ…ظˆط¶ظˆط¹ 'ظ…غŒظ„ط§ط¯ ط­ط¶ط±طھ ط²ظ‡ط±ط§ ط¹ظ„غŒظ‡ط§ ط§ظ„ط³ظ„ط§ظ…'"> 
     <em>ظپط§غŒظ„ظ‡ط§غŒ ط³ط¹غŒط¯ ط­ط¯ط§ط¯غŒط§ظ†/ط³ط§ظ„ 1389 ط¨ط§ ظ…ظˆط¶ظˆط¹</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;"> 

어떻게 해결할 수 있습니까?

+0

"어떻게 해결할 수 있습니까?" 문제는 명백하지 않습니다. – Marcin

+0

@Marcin : 출력물이 UTF-8의 Latin-1 해석이라고 생각합니다. –

+0

@ Marcin ok 나는 내 질문을 업데이트했다 –

답변

3

인코딩을 변경하지 않고 인코딩 된 데이터를 콘솔에 인쇄하고 있습니다.

콘텐츠 형식 헤더는 데이터가 UTF-8로 인코딩되었음을 나타내지 만 대신 라틴어 코덱을 사용하여 콘솔에 인쇄합니다.

디코드에게 먼저 유니 코드로 데이터를 :

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

당신은 콘솔에 결과 유니 코드 값을 출력 할 수 없습니다; 특정 코드 포인트를 인코딩 할 수없는 경우 UnicodeEncode 예외가 발생합니다. 콘텐츠에 문제가있는 것은 아니지만 콘솔에서 발생합니다.

+0

그 작품은 –

관련 문제