python3版本的speedparser https://github.com/jmoiron/speedparser

speedparser3的Python项目详细描述


速度分析器3

speedparser3是由https://github.com/jmoiron/speedparser开发的python 3.5+版本的原始speedparser。

速度分析器

speedparser是Universal Feed Parser的黑盒“样式”重新实现。它使用一些feedparser代码 对于数据和作者,但主要是重新实现其数据规范化算法 基于feedparser输出。它使用lxml进行提要解析和可选 HTML清理。它与feedparser的兼容性对于 字段的子集,但对于该子集以外的字段则较差。见 tests/speedparsertests.py了解有关哪些字段更多或 不太兼容,也不兼容。

在Intel(R)Core(TM)i5 750上,仅在一个内核上运行,feedparser托管 2.5 feeds/sec在测试feed集上(在 tests/feeds.tar.bz2,而speedparser管理65 feeds/sec 打开html清理,关闭200 feeds/sec

安装

pip3 install speedparser3

用法

用法与feedparser类似:

>>> import speedparser3
>>> result = speedparser3.parse(feed)
>>> result = speedparser3.parse(feed, clean_html=False)

差异

在 SpeedParser3和FeedParser。最大的相似之处是他们都回来了 一个FeedParserDict()对象(具有可作为属性访问的键),它们都是 遇到错误时设置bozo键,以及 feedentries键可能相同或非常相似。

speedparser3使用不同的(在某些情况下,使用更少或没有;买家要小心) 数据清理算法比feedparser。当它被启用时,lxml的 html.cleanerlibrary将用于清理html并给出类似但不 对各种属性和元素的相同保护。如果你提供 您自己的Cleaner元素到“clean_htmlkwarg,它将被使用 通过speedparser3清除提要和条目的各种属性。

speedparser3默认情况下不尝试修复字符编码,因为 对于大型提要,此处理可能需要很长时间。如果 馈送错误,或者如果您希望此额外级别的错误容忍度,则 可以使用chardet模块检测基于 记录或传递encoding=Truespeedparser3.parse,它将落下 如果遇到编码错误,则返回到编码检测。

如果您的应用程序使用feedparser同时使用多个提要 CPU正在成为一个瓶颈,您可能需要尝试speedparser3作为 备选方案(使用feedparser作为备份)。如果你在写 不摄取许多馈送的应用程序,或者CPU不成问题的应用程序, 您应该使用^ TT2}$,因为它与坏的或畸形的数据是灵活的。 有更好的测试套件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
文件名的java正则表达式限制名称大小和文件扩展名   Mac上的java Android SDK:jspawnhelper意外退出   java SQL Server 2000到Oracle 12c重音字符   在Java中快速比较大数据集中的值和小数据集中的值   java在代码中的许多地方保留对对象的引用   Java规范中私有内部类的jvm访问标志与反射API不一致?   比较2个int数组中匹配的数字   java Apache Commons数学简化回归:get prediction stderr   安卓 Java SDK管理器因命令行输出中的“flashplayerplugin”而崩溃   JavaSQLite:关闭DB时必须关闭游标吗?   泛型Java设计抽象类声明示例说明   java应用程序在添加片段时崩溃   如何在java中使用注释为字段加载值