猿问

bs4:搜索特殊字符,例如“ä”

我正在尝试在网页中搜索带有“ä”这样的字符的文本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”


慕尼黑的夜晚无繁华
浏览 291回答 2
2回答

慕雪6442864

您需要查找unicode值:soup.findAll(text=u'täkäen')演示:>>> from bs4 import BeautifulSoup>>> soup = BeautifulSoup('''\...&nbsp; <td>...&nbsp; &nbsp; &nbsp; <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转义码。
随时随地看视频慕课网APP

相关分类

Python
我要回答