跳转到主要内容

使用BeautifulSoup清理HTML并使用过滤规则。

项目描述

collective.soupstrainer

通常需要从某些来源清理HTML,无论是用户输入还是通过抓取收集的数据,都需要进行清理。使用 collective.soupstrainer 中的 SoupStrainer 类可以使这个过程变得简单。它使用 beautifulsoup4 来解析和清理HTML。该类的构造函数接受四个参数。

排除项

这是一个包含两个元素的元组列表。第一个元素是标签名称列表,第二个元素是属性列表。如果属性列表为空,则第一个列表中的每个标签将从传入的HTML中完全删除。如果标签列表为空,则将完全删除列出的每个属性。如果同时列出了标签和属性,则仅从匹配的标签中删除属性。

style_whitelist

这是允许在 'style' 属性中使用的CSS样式白名单。所有其他样式都将被删除。

class_blacklist

这是CSS类的黑名单。将从 'class' 属性中删除每个匹配的类。

parser

这是当strainer用字符串调用时 beautifulsoup4 使用的解析器。它必须是 beautifulsoup4 的已安装解析器,默认为 html.parser

SoupStrainer 类的实例可以直接使用一个参数调用。该参数可以是字符串,在这种情况下,它将内部由 beautifulsoup4 解析,结果将是 unicode(或 Python 3 中的字符串),或者它可以是 beautifulsoup4 创建的解析的HTML树,在这种情况下,它将在原地修改并返回。

变更日志

2.2 (2021-03-25)

  • 不要在要排除的标签第一次替换后停止。 (#8)

  • 添加对 Python 3.8 和 3.9 的支持。

2.1 (2019-02-06)

  • 添加对 Python 3 和 PyPy 的支持。

2.0 (2017-10-19)

向后不兼容的更改

  • 更新到 beautifulsoup4。

  • 向 SoupStrainer 添加一个参数 parser,它指定 beautifulsoup4 使用的解析器。

1.0 - 2008-11-14

  • 初始发布

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

collective.soupstrainer-2.2.tar.gz (10.6 kB 查看哈希值)

上传时间

构建分布

collective.soupstrainer-2.2-py2.py3-none-any.whl (5.5 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面