我很难找到一个简单的方法来解决这个问题,希望你能帮上忙。
我一直在使用Beautifulsoup的find,并尝试一些regex来查找除下面html中的'emptyLine‘行之外的所有项目:
<div class="product_item0 ">...</div>
<div class="product_item1 ">...</div>
<div class="product_item2 ">...</div>
<div class="product_item0 ">...</div>
<div class="product_item1 ">...</div>
<div class="product_item2 ">...</div>
<div class="product_item0 ">...</div>
<div class="product_item1 last">...</div>
<div class="product_item2 emptyItem">...</div>是否有一个简单的方法可以找到所有的项目,除了一个,包括‘空’?
发布于 2016-01-31 15:19:28
只需跳过包含emptyItem类的元素。工作样本:
from bs4 import BeautifulSoup
data = """
<div>
<div class="product_item0">test0</div>
<div class="product_item1">test1</div>
<div class="product_item2">test2</div>
<div class="product_item2 emptyItem">empty</div>
</div>
"""
soup = BeautifulSoup(data, "html.parser")
for elm in soup.select("div[class^=product_item]"):
if "emptyItem" in elm["class"]: # skip elements having emptyItem class
continue
print(elm.get_text())指纹:
test0
test1
test2请注意,div[class^=product_item]是一个CSS选择器,它可以将所有div元素与以product_item开头的类匹配。
https://stackoverflow.com/questions/35115417
复制相似问题