假设我想使用BeautifulSoup解析一个html,并且我想使用css选择器来查找特定的标记。我会把它“灵魂化”
from bs4 import BeautifulSoup
soup = BeautifulSoup(html)
如果我想找到一个“id”属性值为“abc”的标记,我可以
soup.select('#abc')
如果我想找到当前标签下的所有“a”子标签,我们可以
soup.select('#abc a')
但是现在,假设我想找到所有的“a”标记,它们的“ref”属性的值以“xyz”结尾,我想用regex来实现,我希望
soup.select('#abc a[href] = re.compile(r"xyz$")')
我似乎找不到任何关于BeautifulSoup.select()方法将支持regex的内容。
soup.select()
函数只支持CSS语法;正则表达式不属于该语法的一部分。您可以使用这样的语法将结束于文本的属性匹配起来:
请参阅MSDN上的CSS attribute selectors documentation。
您始终可以使用CSS选择器的结果继续搜索:
注意,作为^{} documentation states :
强调我的。
相关问题 更多 >
编程相关推荐