Python 美化组4:选择属性不等于x的元素
我想这样做:Python 美化组4:选择属性不等于x的元素,python,html,python-2.7,beautifulsoup,html-parsing,Python,Html,Python 2.7,Beautifulsoup,Html Parsing,我想这样做: soup.find_all('td', attrs!={"class":"foo"}) 我想找到所有没有foo类的td。 显然,上述方法不起作用,但有什么作用呢?BeautifulSoup确实让“汤”变得漂亮且易于使用 您可以在属性值中选择: soup.find_all('td', class_=lambda x: x != 'foo') 演示: >>来自bs4导入组 >>>data=”“” ... 1. 2. 3. ... ... """ >>>汤=美汤(数据) >>>查
soup.find_all('td', attrs!={"class":"foo"})
我想找到所有没有foo类的td。
显然,上述方法不起作用,但有什么作用呢?
BeautifulSoup
确实让“汤”变得漂亮且易于使用
您可以在属性值中选择:
soup.find_all('td', class_=lambda x: x != 'foo')
演示:
>>来自bs4导入组
>>>data=”“”
...
1.
2.
3.
...
... """
>>>汤=美汤(数据)
>>>查找所有('td',class=lambda x:x!='foo'):
... 打印元素.text
...
1.
3.
有一种方法.select()
允许您将CSS选择器作为字符串传递:
soup.select('td:not(.foo)'))
以上代码将返回所有
标记,这些标记不属于foo
@alecxe是的,谢谢。
>>> from bs4 import BeautifulSoup
>>> data = """
... <tr>
... <td>1</td>
... <td class="foo">2</td>
... <td class="bar">3</td>
... </tr>
... """
>>> soup = BeautifulSoup(data)
>>> for element in soup.find_all('td', class_=lambda x: x != 'foo'):
... print element.text
...
1
3