我有以下soup
<a href="some_url">next</a>
<span class="class">...</span>
我想从这里提取href,"some_url"
如果我只有一个标签,我可以这样做,但是这里有两个标签。我也可以得到文本'next'
,但这不是我想要的。
另外,有没有一个很好的API的描述和例子。我正在使用the standard documentation,但我在寻找更有条理的东西。
发布于 2011-04-28 16:39:00
您可以按以下方式使用find_all
查找每个具有href
属性的a
元素,并打印每个元素:
from BeautifulSoup import BeautifulSoup
html = '''<a href="some_url">next</a>
<span class="class"><a href="another_url">later</a></span>'''
soup = BeautifulSoup(html)
for a in soup.find_all('a', href=True):
print "Found the URL:", a['href']
输出将为:
Found the URL: some_url
Found the URL: another_url
请注意,如果您使用的是旧版本的BeautifulSoup (在版本4之前),则此方法的名称为findAll
。在版本4中,BeautifulSoup的方法名为were changed to be PEP 8 compliant,因此您应该改用find_all
。
如果希望所有标签都有一个href
,可以省略name
参数:
href_tags = soup.find_all(href=True)
https://stackoverflow.com/questions/5815747
复制相似问题