2016-04-04 23 views
-1

私はPythonの初心者で、BeautifulSoupを使って構文解析を学んでいます。 BeautifulSoupが正しく韓国語の文字を表示しない

この

は私のコード、

#-*- coding: utf-8 -*- 

import urllib 
from bs4 import BeautifulSoup 

soup = BeautifulSoup(urllib.urlopen('https://news.google.com/news/section?cf=all&pz=1&q=IoT').read()) 
editData = soup.find_all('span',{'class','titletext'}) 

print editData 

で、結果は次のとおりです。 (韓国語の文字が表示され、 "\のuc720 \ ud50c \ ub7ec \ uc2a4" など)

[LG \ uc720¥ud50c¥ub7ec¥uc2a4,IoT¥uc720¥ub9dd¥uae30¥uc5c5¥ubc1c¥uad7¥uc0dd¥ud611¥ub825¥ucd94¥uad6c、LG¥uc720¥ud50c¥ub7ec¥uc2a4、¥uc720 \ ub9dd IoT \ uc911 \ uc18c \ uae30 \ uc5c5 \ uc9c0 \ uc6d0、LGU + 'IoT \ uc920 \ ub9dd \ uc911 \ uc18c \ uae30 \ uc5c5 \ ubaa8 \ uc5ec \ ub77c '、 "IoT \ ub85c \ uace0 \ uce35 \ ube4c \ ub529 \ uc5d0 \ ub108 \ uc9c0 \ uc18c \ ube44 80%\ u2193" 、\ uc2dc \ ud050 \ ub9ac \ ud2f0 \ ud50c \ ub7ab \ ud3fc- \ uc774 \ ub354 \ ube14 uc720 \ \ ube44 \ uc5e0 のIoT \ ubcf4 \ uc548 \ ud1a0 \ ud138 \ uc194の\ ub8e8の\のuc158 \ uac1c \ ubc1c、 NIA、のIoT \ ud569 \ uc2e0 \ uc0b0 \ uc5c5 \ uc9c0 \ uc6d0 \ uc704 \ ud574 135 \ uc5b5 \ uaddc \ ubaa8 \ ud22c \ uc790、のIoT \ ub9db \ uc744 \ uc54c \ uac8c \ ub41c \ ud1b5 uc735 \ \ uc2e03 \ uc0ac、\ uc0c1 \ uc0dd \ uc774 \ uacb0 \ uad6d \ ubbf8 \ ub798 \ ub9cc \ ub4e0 \ ub2e4、\ uc0bc \ uc131 \ uc804 \ uc790、\ ubd81 \ ubbf8 <b>IoT</b> \uc2a4\ub9c8\ud2b8 \ube4c\ub529 \ucf00\uc5b4 \uc2dc\uc2a4\ud15c \ uacf5 \ ub7b5 ... \ ud604¥uc9c0¥ub370¥uc778¥ud2b8¥ub9ac¥uc640¥ud611¥uc5c5¥ud30c¥uc6cc¥ubcf4¥uc774¥uc2a4¥uc74c¥uc131¥uc778¥uc2dd IoT \ uc2a4 \ ub9c8 \ ud2b8 \ uc2a4 \ uc704 \ uce58 \ ucd9c \ uc2dc、\ uace0 \ ub824 \ ub300、\ uc815 \ ubcf4 \ ud1b5 \ uc2e0 \ uace0 \ ub3c4 \ ud654 \ ud55c「のIoT \ ucea0 \ ud37c \ uc2a4 '\ ubcc0 \ uc2e0、

...など。

この問題に関する解決策は見つかりません。

+0

HTMLタグのリストを直接印刷しました。コンテナの内容は、文字列の場合は*表現*と呼ばれるデバッグ形式を使用して常に表示されます。これはASCII安全なPython文字列リテラル形式で、新しいPythonスクリプトやインタラクティブセッションにコピー&ペーストできます.HTMLタグの場合はBeautifulSoup (元のHTMLタグを端末に書き込んだかのように見えます)。 –

+0

代わりに、各タグのテキストコンテンツを印刷してみてください: 'editDataのタグ:print tag.text()'。 –

+1

あなたはpython 3で試しましたか? –

答えて

0

それはBeautifulSoupのためではありません。その理由はあなたがノードを印刷するためです。何かやって:

print editData 

は、ASCII文字列としてコンテンツを返すことによって実装されているノードの機能__repr__()を呼び出します。

for span in editData: 
    print span.text 

、あなたが見るべきであるUnicodeテキスト(結果はノードのリストではなく、我々はそれらすべてを印刷するように、単一のノードであるため、ループ内のため-です):

は、このしてみてください。

関連する問題