如果类名称在列表中或具有具有指定值的样式属性,则必须选择具有类属性的所有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"]'))