用于python 3的atom、rss和json提要解析器
atoma的Python项目详细描述
用于python 3的atom、rss和json提要解析器。
快速启动
使用pip安装atoma:
pip install atoma
加载并分析atom xml文件:
>>>importatoma>>>feed=atoma.parse_rss_file('rss-feed.xml')>>>feed.description'The blog relating the daily life of web agency developers'>>>len(feed.items)5
从Internet解析源也很容易:
>>>importatoma,requests>>>response=requests.get('http://lucumr.pocoo.org/feed.atom')>>>feed=atoma.parse_atom_bytes(response.content)>>>feed.title.value"Armin Ronacher's Thoughts and Writings"
功能
- rss 2.0-RSS 2.0 Specification
- Atom联合格式v1-RFC4287
- json提要v1-JSON Feed specification
- opml 2.0,共享提要列表-OPML 2.0
- 类型化:feed分解为有意义的python对象
- 安全:使用defusedxml加载不受信任的源
- 与Python3.6+兼容
安全警告
如果使用此库显示网页中源的内容,则需要 清除提要中包含的html以防止Cross-site scripting (XSS)。建议使用bleach库来清理源。
有用资源
要使用此库,需要对提要有基本的了解。对于Atom来说 Introduction to Atom是必须的 读。这个{a10}可以帮助提升一些 模棱两可。最后feed validator是 非常适合测试手工制作的提要。
对于rss,RSS specification和 rssboard.org有大量的信息 例子。
对于opml,OPML specification有一个专门的段落 用于联合
未实现的功能
一些很少使用的功能没有实现:
- XML签名和加密
- 一些atom和rss扩展
- 除文本、HTML和XHTML 之外的Atom内容
许可证
麻省理工学院 版权所有(c)2018 Nicolas Le Manchet
兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:
上述版权公告及本许可公告须包括在 软件的拷贝或大部分。
本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与本软件有关,或使用或与本软件的其他交易有关。 软件。