Sky*_*y83 2 python tags parsing attributes beautifulsoup
使用 Beautiful Soup,我想在 HTML 代码中找到所有标签“a”,其属性“class”等于“button btn-1-small”或属性“class”等于“button beta-callout btn” -1-小”。我的代码是:
alltd = soup.find_all('a', {'class':'button btn-1-small'}, {'class':'button
beta-callout btn-1-small'})
Run Code Online (Sandbox Code Playgroud)
当我只有一个条件(“类”的一个值)时,我的代码可以完美运行,但是当我想要两个条件时,它就不再起作用了。
你知道如何写条件“OR”吗?为了有一个类的值,或者另一个
非常感谢。
液晶显示器
在您的情况下,'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>
Run Code Online (Sandbox Code Playgroud)
您可以选择其中之一:
soup.find_all('a', {'class': ['foo', 'bar']})
Run Code Online (Sandbox Code Playgroud)