如何select所有元素基于替代属性? [BeautifulSoup]

How to select all elements based on alternative attributes? [BeautifulSoup]

如果 class 名称在列表 或 [=24= 中,我必须 select 所有具有 class 属性的 html 标签] 具有指定值的样式属性。

我试图一步步解决我的问题,我得到了这个:

selected_by_class = soup.find_all(class_=['basic_class', 'other_class'])
selected_by_style = soup.find_all(style='text-align:left')

如您所见,我分两步获取所有数据,但序列丢失了,因为我做了两个独立的 find_all() 请求。

一个人如何同时做find_all()

尝试使用 CSS 选择器。要使用多个选择器,请用逗号分隔它们 ,.

要为类名使用 CSS 选择器,请使用:.<classname>

要为样式使用 CSS 选择器,您可以使用 [attribute="value"] 选择器。

所以在你的例子中:

[..]

# Using multiple CSS Selectors - separated by a comma.
print(soup.select('.class1, .class2, [style="text-align:left"]'))