我是一个新的网站刮和尝试报废特定的网站与某些参数。现在,我要获取满足以下条件的div:
我想排除div
,它有一些class
。
我想排除没有div
属性的class
。
我想包括div
,它有一个特定的id
,或者没有任何类,或者除了被忽略的类列表之外还有其他类。
到目前为止,我已经完成了2个条件,包括以下code:
classToIgnore = ["class1", "class2", "class3"]
for div in soup.find_all('div', class_=lambda x: x in classToIgnore):
div.decompose()
for div in soup.find_all('div', class_=False):
div.decompose()
现在,我不知道如何在这里添加第3个条件&如果可能的话,我还想在一个find_all()
语句中完成所有3个过滤器。你知道吗
在处理如此复杂的条件时,最好将其包装在单独的函数中。BeautifulSoup允许您使用function as filter。你知道吗
输出
我可能错过了一些情况,所以请尝试以下与bs4.7.1+使用:不排除或css和语法。请注意,我已将列表中的类名改为选择器,前面加了“.”
相关问题 更多 >
编程相关推荐