【发布时间】:2016-01-16 11:59:11
【问题描述】:
我正在使用 BeautifulSoup 4,我正在使用带有正则表达式的 find_all 来查找与特定模式匹配的所有链接。
results = page.find_all(href=re.compile("foo/bar\?baz="))
for result in results:
...
不过我也想从 URL 中提取一个参数。
我可以通过在参数上放置一个捕获组来标记要提取的参数:
results = page.find_all(href=re.compile("foo/bar\?baz=([^&]+)"))
但如果我这样做,我如何访问特定匹配中捕获组的值?
【问题讨论】:
-
现在作为一种解决方法,我只是将
result["href"]通过正则表达式再次单独放入循环中。 -
find_all可以将正则表达式作为参数仅用于过滤,我认为您不能提取捕获组或整个匹配项。 -
@CasimiretHippolyte 对不起,我现在遇到了类似的问题,并在我的回答中提出了解决方案。
标签: python regex beautifulsoup