首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Find_all美女汤除外

Find_all美女汤除外
EN

Stack Overflow用户
提问于 2016-01-31 15:14:54
回答 1查看 7.7K关注 0票数 6

我很难找到一个简单的方法来解决这个问题,希望你能帮上忙。

我一直在使用Beautifulsoup的find,并尝试一些regex来查找除下面html中的'emptyLine‘行之外的所有项目:

代码语言:javascript
复制
<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>

是否有一个简单的方法可以找到所有的项目,除了一个,包括‘空’?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-31 15:19:28

只需跳过包含emptyItem类的元素。工作样本:

代码语言:javascript
复制
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())

指纹:

代码语言:javascript
复制
test0
test1
test2

请注意,div[class^=product_item]是一个CSS选择器,它可以将所有div元素与以product_item开头的类匹配。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35115417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档