我正在學習Python中的Beautiful Soup。如何將unicode文本轉換爲普通文本
我想解析一個簡單的網頁與書籍列表。
E.g
<a href="https://www.nostarch.com/carhacking">The Car Hacker’s Handbook</a>
我用下面的代碼。
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>
而且
#elems[0].getText() gives
u'The Car Hacker\u2019s Handbook'
但我想這是通過給予適當的文字,
s = elems[0].getText()
print s
>>>The Car Hacker’s Handbook
如何修改我的代碼,以便給「轎車黑客手冊」輸出,而不是「你的車黑客手冊」?
請幫忙。
你得到的結果沒有錯。它是一個帶有花哨字符的unicode字符串。 – Selcuk
謝謝,@Selcuk。 但如何使用該字符串「u'The Car Hacker's Handbook'」並存儲在文件/數據庫中? 它會被妥善保存嗎?我的意思是我嘗試了'f.write(elems [0] .getText())',我得到了UnicodeEncodeError。 –
謝謝,@Selcuk。我知道了。 我用'elems [0] .getText()。encode('utf-8')'保存到文件或數據庫中。 –