在 BeautifulSoup 中匹配部分 id

2024-02-17

我在用着美丽汤。我必须找到任何参考<div>带有 id 的标签如:post-#.

例如:

<div id="post-45">...</div>
<div id="post-334">...</div>

我努力了:

html = '<div id="post-45">...</div> <div id="post-334">...</div>'
soupHandler = BeautifulSoup(html)
print soupHandler.findAll('div', id='post-*')

我该如何过滤这个?


您可以将函数传递给findAll http://www.crummy.com/software/BeautifulSoup/documentation.html#The%20basic%20find%20method:%20findAll%28name,%20attrs,%20recursive,%20text,%20limit,%20**kwargs%29:

>>> print soupHandler.findAll('div', id=lambda x: x and x.startswith('post-'))
[<div id="post-45">...</div>, <div id="post-334">...</div>]

或者正则表达式:

>>> print soupHandler.findAll('div', id=re.compile('^post-'))
[<div id="post-45">...</div>, <div id="post-334">...</div>]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 BeautifulSoup 中匹配部分 id 的相关文章

随机推荐