2017-07-05 5 views
0

Ich versuche, den genauen Text von der HTML-Seite zu erhalten, aber Ausgabetext unterscheidet sich von erwartetem Text. Kein exakter Text von BeautifulSoup

Text auf HTML-Seite

Салнас 14 

Text Show von BeautifulSoup

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

Mein Code ist

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

Html inspizieren Code für das div

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

ich verstehen mich nicht, was dies verursacht? Sollte ich den verschiedenen Parser verwenden?

+2

Haben Sie versucht, die Textkodierung zu ändern? – Krishh

+1

Sie müssen herausfinden, welche Zeichencodierung die Seite verwendet, z. UTF8. –

+0

Es sieht aus wie ein Codierungsproblem für mich. Haben Sie versucht, den Text mit der Zeichencodierung zu codieren, die die Seite verwendet? – SRC

Antwort

1

Verwenden Sie die requests Bibliothek für HTTP-Anforderungen, es ist viel besser als das, was Python aus vielen Gründen eingebaut hat. Es kümmert sich automatisch und intelligent um Kodierungen.

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

Danke, es funktioniert gut. –

Verwandte Themen