美丽的汤 - 几个属性搜索
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了美丽的汤 - 几个属性搜索相关的知识,希望对你有一定的参考价值。
使用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'})
当我只有一个条件(“class”的一个值)时,我的代码工作正常,但是当我想要有两个条件时,它就不再起作用了。
你知道如何写一个条件“或”吗?为了使该类的值为另一个
非常感谢你。
LCS
答案
在你的情况下,'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']})
以上是关于美丽的汤 - 几个属性搜索的主要内容,如果未能解决你的问题,请参考以下文章