我正在尝试获取HTML文档中包含以下文本模式的元素:#\S{11}
<h2> this is cool #12345678901 </h2>
因此,前一个将通过使用:
soup('h2',text=re.compile(r' #\S{11}'))
结果是:
[u'blahblah #223409823523', u'thisisinteresting #293845023984']
我能得到所有匹配的文本(见上一行)。但是我希望文本的父元素匹配,所以我可以使用它作为遍历文档树的起点。在这种情况下,我希望所有h2元素都返回,而不是文本匹配。
有什么想法?
印刷品:
当使用
text=
作为标准而不是在其他情况下使用BeautifulSoup.Tag
时,BeautifulSoup search操作会传递[a list of]BeautifulSoup.NavigableString
对象。检查对象的__dict__
以查看提供给您的属性。在这些属性中,parent
优于previous
,因为changes in BS4。对于bs4(Beautiful Soup 4),OP的尝试与预期完全一样:
返回
[<h2> this is cool #12345678901 </h2>]
。相关问题 更多 >
编程相关推荐