Select HTML 具有一个或多个具有 bs4 特定属性的标签
Select HTML tags that have one or more specific attributes with bs4
我想使用 soup.find_all
查找所有具有 id
或 name
属性的 HTML 标签。
以下代码适用于 id 属性:
for tag in soup.find_all(attrs={"id": True}):
但是,以下具有两个属性的代码不会:
for tag in soup.find_all(attrs={"id":True, "name":True}):
是否可以使用 bs4 进行布尔搜索以查找具有两个特定属性之一(或两个属性)的所有标签,或者我是否必须分别搜索每个属性?
soup.find_all(lambda element: 'name' in element.attrs or 'id' in element.attrs)
我们使用lambda
来访问find_all
里面的元素。然后,我们使用 in
运算符来检查 element.attrs
(它是一个字典)是否有键 name
或 id
.
我想使用 soup.find_all
查找所有具有 id
或 name
属性的 HTML 标签。
以下代码适用于 id 属性:
for tag in soup.find_all(attrs={"id": True}):
但是,以下具有两个属性的代码不会:
for tag in soup.find_all(attrs={"id":True, "name":True}):
是否可以使用 bs4 进行布尔搜索以查找具有两个特定属性之一(或两个属性)的所有标签,或者我是否必须分别搜索每个属性?
soup.find_all(lambda element: 'name' in element.attrs or 'id' in element.attrs)
我们使用lambda
来访问find_all
里面的元素。然后,我们使用 in
运算符来检查 element.attrs
(它是一个字典)是否有键 name
或 id
.