【问题标题】:how to use beautiful soup to get all text "except" a specific class如何使用漂亮的汤来获取所有文本“除了”一个特定的类
【发布时间】:2022-11-30 05:04:31
【问题描述】:

我正在尝试使用 soup.get_text 从网页中获取一些文本,但我想排除特定的类。

我尝试使用a = soup.find_all(class_ = "something")b=[i.get_text() for i in a],但这允许我选择一个类,并且不允许我排除一个特定类。

我也试过: a = soup.select('span:not([class_ ="something"])') b = [i.get_text() for i in a] 首先,输出并不是真正的纯文本。但最重要的是;它给了我所有的课程,包括我想排除的“东西”。

还有其他方法吗?

提前致谢。

【问题讨论】:

  • 您能否编辑您的问题并将示例 HTML 代码放在那里,以及您想从该 HTML 代码中提取哪些元素?

标签: python beautifulsoup


【解决方案1】:

例如,如果你想获得除一个类之外的所有类,你可以遍历所有元素并选择你保留的那些:

for p in soup.find_all("p", "review_comment"):
    if p.find(class_="something-archived"):
        continue
    # p is now a wanted p

来源:Excluding unwanted results of findAll using BeautifulSoup

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    • 2021-06-25
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多