Beautifulsoup找到没有价值的标签和属性?

时间:2018-03-10 05:20:17

标签: python python-3.x beautifulsoup

我试图获取具有属性但没有值的特定标记的内容。我怎样才能得到它?例如

cont = '<nav></nav> <nav breadcrumbs> <a href="">aa</a></nav> <nav></nav>'

从上面我要提取<nav breadcrumbs> <a href="">aa</a></nav>

所以我尝试了以下一个

bread = contSoup.find("nav",{"breadcrumbs":""})

我也试过下面的

bread = contSoup.find("nav breadcrumbs")

最后,我使用RegEx来获取这些数据,我能够得到答案,但我怎样才能从美丽的汤中做到这一点

1 个答案:

答案 0 :(得分:1)

您可以在这种情况下使用attr=True

cont = '<nav></nav> <nav breadcrumbs> <a href="">aa</a></nav> <nav></nav>'
soup = BeautifulSoup(cont, 'lxml')  # works with 'html.parser' too.
print(soup.find('nav', breadcrumbs=True))
# which is the same as print(soup.find('nav', {'breadcrumbs': True}))

输出:

<nav breadcrumbs=""> <a href="">aa</a></nav>