下载rss/atom提要并将其转换为maildir消息。
ws.rsspull的Python项目详细描述
rsspull下载并解析rss和atom提要,将帖子转换为电子邮件 邮件,并将其存储在邮件目录中。这样你就可以用 电子邮件客户端(我使用claws,因此可以访问邮件列表、新闻组和 在一个应用程序中提供所有内容)。举重是由 feedparser库。
安装
rsspull至少需要python 2.6(而且还不能在python 3下工作)。 您可以从pypi安装它,如下所示:
$ pip install ws.rsspull
您需要在~/.rsspull/config中创建一个配置文件,例如:
[global] target = ~/Maildir/rss target_type = maildir logfile = ~/.rsspull/log workers = 1
对于小容量应用程序,您也可以通过SMTP发送电子邮件:
[global] target = test@example.com target_type = smtp://my-smtp-server.example.com
在~/.rsspull/feeds.opml:
<?xml version="1.0" encoding="utf-8"?> <opml version="1.1"> <head> <title>feeds.opml</title> <ownerName>rsspull</ownerName> <ownerEmail>rsspull@localhost</ownerEmail> </head> <body> <outline text="tech"> <outline text="ongoing" xmlUrl="http://www.tbray.org/ongoing/ongoing.atom" /> </outline> <outline text="general"> <outline text="heisec" xmlUrl="http://www.heise.de/security/news/news.rdf" /> <outline text="trac_example" xmlUrl="https://example.com/trac/timeline?milestone=on&ticket=on&changeset=on&wiki=on&max=10&daysback=90&format=rss" auth="user:password"/> </outline> </body> </opml>
格式说明:
- 您可以对提要进行分组(使用嵌套的<outlines>),这无关紧要 给rsspull。
- 属性text用作文件夹名,相对于 maildir在~/.rsspull/config中设置。如果在imap上运行rsspull 服务器,您可以使用以下方法创建文件夹层次结构 text=".rss.tech.ongoing"(查看imap服务器文档 表示文件夹层次结构。带圆点的例子适用于Courier, 其他人可能使用实际的子文件夹,等等)。
- auth属性支持基本身份验证。
- 您可以使用file://url。
然后只需运行:
$ rsspull
下载订阅源。
您可以通过rsspull --confdir /path/to/config来使用其他位置 超过~/.rsspull。
功能
使用If-Modified-Sincehttp头来避免下载具有 没有改变。
将aContent-Location头添加到包含 那个职位。我用爪子把下面的脚本绑定到[return]以打开 WebBrowser中的当前条目:
#!/bin/bash URL=`sed -ne '/^Content-Location/s/.*: //p' $1 | head -n 1` if [ -n "$URL" ]; then mozilla $URL &> /dev/null fi
条目被转换为多部分消息,其中一个带有原始html和 其中一个转换为类似于标记的纯文本(通过html2text),因此 在浏览器中打开时间是不必要的,因为你可以阅读文章 就在电子邮件客户端。
可以使用多个工作线程下载和分析提要以增加 性能,因为等待下载完成要花费相当长的时间 (在~/.rsspull/config中的workers设置)。
从2007年起就开始日常使用,所以它对我(TM)绝对有效。
更改
2.3.0(2018-04-03)
- 使SMTP服务器可配置。
2.2.1(2018-03-30)
- 修复python-3unicode问题。
2.2(2018-03-24)
- 支持通过SMTP发送邮件,作为写入maildir的替代方法。
- 添加命令行选项以设置配置目录。
2.1(2018-03-06)
- 从urllib2切换到请求。
- 使python-3兼容。
2.0(2014-02-22)
- 从生成curl切换到使用urllib2。
- 包装成鸡蛋。
1.2(2013-10-03)
- 使用stdlib xml解析器而不是pythonxml。
1.1(2009-05-23)
- 直接将消息写入maildir,而不是使用procmail。
- 以多部分、文本和HTML格式发送消息。
1.0(2007-03-31)
- 第一版,灵感来自http://newspipe.sourceforge.net/。