我正在尝试在网页中搜索文字,其中包含'ä'等字符bs4无法正确编码这些文字,因此我无法正确搜索网站。例如
<td>
<a href="/gy/area/name/1208.html">täkäen</a>
soup.findAll(text='täkäen') - does not work
我也试过搜索.html字符串(下面),但这似乎也行不通。
soup.findAll(text='/gy/area/name/1208.html')
当我阅读网页时,或者只是在上面的代码中搜索“/gy/area/name/1208.html”时,是否有人知道如何正确编码网页
由于
答案 0 :(得分:1)
您需要查找 unicode 值:
soup.findAll(text=u'täkäen')
演示:
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('''\
... <td>
... <a href="/gy/area/name/1208.html">täkäen</a>
... ''')
>>> soup
<html><body><td>
<a href="/gy/area/name/1208.html">täkäen</a></td></body></html>
>>> soup.findAll(text=u'täkäen')
[u't\xe4k\xe4en']
您需要确保正确设置源代码编码,或使用unicode转义码。