您如何才能完全删除 HTML 包含 python 中的 class 的标签?

How can you completely remove HTML tags containing a class in python?

我有一个网络抓取工具,可以从 BeautifulSoup 中提取来自 CNN、FOX 和 BBC 的文章。然后经过一些预处理,我 return 原始文章到 API。但是,我不知道如何完全删除 Python 中包含令人讨厌的 class 的 HTML 标签。我尝试了 lxml cleaner 但是我可以删除标签,但不仅仅是包含特定 class.

的标签

如果在这个例子中我试图删除“帮助”,我想要一个脚本 HTML 看起来像这样:

<p class="help">Here are some tips which are useful</p>
<p> Welcome to webscraping 101 </p>
<p class="help>These are the tips </p>

进入这个:

<p> Welcome to webscraping 101 </p>

要删除helpclass下的所有标签,可以使用.decompose()方法:

removes a tag from the tree, then completely destroys it and its contents

for tag in soup.find_all("p", class_="help"):
    tag.decompose()

print(soup.prettify())