擅长:python、mysql、java
<p>我可能错过了一些情况,所以请尝试以下与bs4.7.1+使用:不排除或css和语法。请注意,我已将列表中的类名改为选择器,前面加了“.”</p>
<pre><code>from bs4 import BeautifulSoup as bs
classes_to_ignore = [".class1", ".class2", ".class3"]
html = '''
<div class="class1">a</div>
<div class="class2">b</div>
<div class="class3">c</div>
<div class="class4">d</div>
<div>e</div>
<div id="id1" class="class5">f</div>
<div id="id1">g</div>
<div id="id1" class="class1">h</div>
<div id="id1" class="class2">i</div>
'''
soup = bs(html, 'lxml')
ignore = ','.join(classes_to_ignore)
divs = soup.select(f"div[id='id1']:not({ignore}), div:not({ignore})[class]")
print(divs)
</code></pre>