【问题标题】:Beautiful Soup - Several Attributes searching美丽的汤 - 几个属性搜索
【发布时间】:2018-06-04 09:25:58
【问题描述】:

使用 Beautiful Soup,我想在 HTML 代码中找到所有标签“a”,其属性“class”等于“button btn-1-small”或属性“class”等于“button beta” -标注 btn-1-small"。我的代码是:

alltd = soup.find_all('a', {'class':'button btn-1-small'}, {'class':'button 
beta-callout btn-1-small'})

当我只有一个条件(“类”的一个值)时,我的代码可以完美运行,但是当我想要两个条件时,它就不再有效了。

你知道如何写一个条件“OR”吗?为了有一个类的值,另一个是

非常感谢。

Lcs

【问题讨论】:

    标签: python parsing beautifulsoup attributes tags


    【解决方案1】:

    在您的情况下,'button btn-1-small'多个 类,这意味着只执行 soup.find_all('a', {'class': 'btn-1-small'}) 将返回两个元素。

    但是,要查找具有一类或另一类的元素,您需要传递一个列表。

    因此,如果您的 HTML 为:

    <a href="#" class="foo">Test 1</a>
    <a href="#" class="bar">Test 2</a>
    

    您可以选择以下任一选项:

    soup.find_all('a', {'class': ['foo', 'bar']})
    

    【讨论】:

    • 带列表的解决方案完美运行,非常感谢。
    猜你喜欢
    • 2018-03-12
    • 2014-04-16
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 2014-07-29
    • 2019-08-10
    • 1970-01-01
    相关资源
    最近更新 更多