首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >BeautifulSoup获取href

BeautifulSoup获取href
EN

Stack Overflow用户
提问于 2011-04-28 16:25:21
回答 1查看 467.2K关注 0票数 279

我有以下soup

代码语言:javascript
复制
<a href="some_url">next</a>
<span class="class">...</span>

我想从这里提取href,"some_url"

如果我只有一个标签,我可以这样做,但是这里有两个标签。我也可以得到文本'next',但这不是我想要的。

另外,有没有一个很好的API的描述和例子。我正在使用the standard documentation,但我在寻找更有条理的东西。

EN

回答 1

Stack Overflow用户

发布于 2011-04-28 16:39:00

您可以按以下方式使用find_all查找每个具有href属性的a元素,并打印每个元素:

代码语言:javascript
复制
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']

输出将为:

代码语言:javascript
复制
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参数:

代码语言:javascript
复制
href_tags = soup.find_all(href=True)
票数 432
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5815747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档