【发布时间】:2010-10-26 08:16:48
【问题描述】:
我正在尝试获取 HTML 文档中包含以下文本模式的元素:#\S{11}
<h2> this is cool #12345678901 </h2>
所以,前一个将通过使用匹配:
soup('h2',text=re.compile(r' #\S{11}'))
结果会是这样的:
[u'blahblah #223409823523', u'thisisinteresting #293845023984']
我能够得到所有匹配的文本(见上一行)。但我希望文本的父元素匹配,因此我可以将其用作遍历文档树的起点。在这种情况下,我希望所有 h2 元素都返回,而不是文本匹配。
想法?
【问题讨论】:
-
实际上,根据 BeautifulSoup 文档,h2 限制被忽略:“如果您使用文本,那么您为 name 和关键字参数提供的任何值都会被忽略。”
-
@Rabarberski 不确定 2010 年的情况如何,但 by 2012 发现使用
text(或替换它的string)不会忽略任何其他限制
标签: python regex beautifulsoup html-content-extraction