2017-07-05 5 views
0

HTMLページから正確なテキストを取得しようとしていますが、出力テキストが予想されるテキストと異なります。BeautifulSoupから正確なテキストが得られません

HTMLページ上のテキスト

Салнас 14 
beautifulSoup

ĐĄĐ°ĐťĐ˝Đ°Ń 14 

によって

テキストショーは私のコードは

page = BeautifulSoup(url.read(),'html.parser') 
page.find(id='tdo_11').text 
です

HTMLはdiv要素

<td class="ads_opt" id="tdo_11" nowrap=""><b>Салнас 14</b></td> 

ためのコードを調べ、私はこれを引き起こすもの理解していませんよ? 別のパーサーを使用する必要がありますか?

+2

テキストエンコーディングを変更しようとしましたか? – Krishh

+1

あなたはページがどの文字エンコーディングを使用しているかを知る必要があります。 UTF8。 –

+0

私にはエンコードの問題のようです。ページで使用する文字エンコードを使用してテキストをエンコードしようとしましたか? – SRC

答えて

1

HTTPリクエストを行うためにrequestsライブラリを使用してください。これは、Pythonが多くの理由で組み込んだものよりはるかに優れています。自動的かつ知的にエンコーディングを処理します。

import requests 
response = requests.get('https://www.ss.lv/msg/ru/real-estate/flats/riga/plyavnieki/onlol.html') 
page = BeautifulSoup(response.text, 'html.parser') 
+0

ありがとうございます、うまくいきます。 –

関連する問題