【发布时间】:2017-06-04 00:16:49
【问题描述】:
我有一个网址列表,其中包含所有相同的锚点“查看页面”以及其他类型的网址,如下所示:
<a href="url1" target="_blank">view page</a>
<a href="url2" target="_blank">view page</a>
有没有办法用这个特定的锚文本提取所有网址?
谢谢
【问题讨论】:
标签: python regex beautifulsoup
我有一个网址列表,其中包含所有相同的锚点“查看页面”以及其他类型的网址,如下所示:
<a href="url1" target="_blank">view page</a>
<a href="url2" target="_blank">view page</a>
有没有办法用这个特定的锚文本提取所有网址?
谢谢
【问题讨论】:
标签: python regex beautifulsoup
要查找带有文本的链接查看页面,您可以使用find_all('a', text='view page'),然后遍历结果集并从中提取url:
from bs4 import BeautifulSoup
soup = BeautifulSoup("""<a href="url1" target="_blank">view page</a>
<a href="url2" target="_blank">view page</a>
<a href="url2" target="_blank"></a>""", "html.parser")
[a['href'] for a in soup.find_all('a', text='view page')]
# [u'url1', u'url2']
【讨论】: