BeautifulSoup获取href
我有以下汤:
<a href="some_url">next</a> <span class="class">...</span>
从这我想提取href, "some_url"
我可以做,如果我只有一个标签,但这里有两个标签。 我也可以获得'next'
文本,但这不是我想要的。
另外,是否有一个很好的描述API的例子。 我正在使用标准文档 ,但是我正在寻找更有组织的东西。
您可以通过以下方式使用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的方法名称更改为符合PEP 8 ,所以您应该使用find_all
。
如果你想要所有带有href
标签,你可以省略name
参数:
href_tags = soup.find_all(href=True)