Python'da Güzel Çorba öğreniyorum.Unicode metni normal metne dönüştürme
Kitap listesiyle basit bir web sayfasını ayrıştırmaya çalışıyorum. Örn
<a href="https://www.nostarch.com/carhacking">The Car Hacker’s Handbook</a>
Ben aşağıdaki kodu kullanabilirsiniz.
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>
Ve
#elems[0].getText() gives
u'The Car Hacker\u2019s Handbook'
Ama verilir uygun metni istiyorum, "Araç Hacker'ın El Kitabı" çıktı yerine vermek amacıyla kodumu nasıl değiştirilir
s = elems[0].getText()
print s
>>>The Car Hacker’s Handbook
"Araba Hacker \ u2019s El Kitabı" nın "?"
Lütfen yardım edin.
Aldığınız sonuçla ilgili bir sorun yok. Bir fantezi kesme karakteri olan bir unicode dizedir. – Selcuk
Teşekkürler, @Selcuk. Ama bu dizeyi "u'The Car Hacker \ u2019s Handbook '" ile nasıl kullanılır ve dosya/veritabanında saklarsınız? Doğru şekilde kaydedilecek mi? Ben f.write (elems [0] .getText()) 'denedim, UnicodeEncodeError var. –
Teşekkürler, @Selcuk. Anladım. Dosya veya veritabanına kaydetmek için 'elems [0] .getText(). Encode (' utf-8 ') 'ifadesini kullandım. –