【问题标题】:Beautifulsoup find the tag and attribute of without value?Beautifulsoup 找到没有值的标签和属性?
【发布时间】:2018-08-18 17:26:27
【问题描述】:

我正在尝试获取具有属性但没有值的特定标签的内容。例如,我怎样才能得到它

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

从上面我要提取&lt;nav breadcrumbs&gt; &lt;a href=""&gt;aa&lt;/a&gt;&lt;/nav&gt;

所以我尝试了以下一个

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

我也试过下面一个

bread = contSoup.find("nav breadcrumbs")

最后我用正则表达式来获取这个数据,我能够得到答案,但是我怎么能从美丽的汤中做到这一点

【问题讨论】:

  • 如果 BS 支持 CSS 选择器这样做,nav[breadcrumbs]

标签: python python-3.x beautifulsoup


【解决方案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>

【讨论】:

    猜你喜欢
    • 2020-07-12
    • 2018-10-04
    • 1970-01-01
    • 2021-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    相关资源
    最近更新 更多