Ich lerne Beautiful Soup in Python.Wie konvertiert man Unicode-Text in normalen Text
Ich versuche, eine einfache Webseite mit einer Liste von Büchern zu analysieren.
Z. B
<a href="https://www.nostarch.com/carhacking">The Car Hacker’s Handbook</a>
Ich verwende den folgenden Code ein.
import requests, bs4
res = requests.get('http://nostarch.com')
res.raise_for_status()
nSoup = bs4.BeautifulSoup(res.text,"html.parser")
elems = nSoup.select('.product-body a')
#elems[0] gives
<a href="https://www.nostarch.com/carhacking">The Car Hacker\u2019s Handbook</a>
Und
#elems[0].getText() gives
u'The Car Hacker\u2019s Handbook'
Aber ich möchte den richtigen Text, die gegeben ist,
s = elems[0].getText()
print s
>>>The Car Hacker’s Handbook
Wie meinen Code zu modifizieren, um zu geben Ausgang "Das Handbuch des Auto Hacker" statt von "u'The Car Hacker \ u2019s Handbuch" "?
Bitte helfen.
Es ist nichts falsch mit dem Ergebnis, das Sie erhalten. Es ist eine Unicode-Zeichenfolge mit einem ausgefallenen Apostroph-Zeichen. – Selcuk
Danke, @Selcuk. Aber, wie man diese Zeichenkette "u'The Car Hacker \ u2019s Handbuch" benutzt und in der Akte/in der Datenbank speichert? Wird es ordnungsgemäß gespeichert? Ich meine, ich habe versucht 'f.write (elems [0] .getText())', ich habe UnicodeEncodeError. –
Danke, @Selcuk. Ich hab es geschafft. Ich habe 'elems [0] .getText(). Encode ('utf-8')' in Datei oder Datenbank speichern. –