Jul 22

尽管Tiny Tiny RSS可以搞定大部分网站的RSS全文问题,仍有部分不能搞定,这时就可以使用Yahoo Pipes来获取全文。

1.在 Yahoo Pipes 里新建一个 pipe
拖入一个 Fetch Feed 模块,输入网站的 rss 地址
拖入一个 Loop 模块,与 Fetch Feed 连接

2.拖一个 Fetch Page 模块进入 Loop
设置 URL 为 item.link
读取内容从 div class=”EntryBody” 到 /div
指定所有结果为 item.temp

3.拖入一个 Rename 模块,与 Loop 连接
将 item.temp.0.content 重命名为 content:encoded

4.将 Rename 连接到 Pipe Out,保存

主要的流程图如下:

参考:http://jandan.net/2008/11/15/yahoo-pipes.html

Sep 07

1.如果你使用“自定义RSS”,所有的通过RSS订阅的内容会生成一本电子书,格式如FAQ中所示的那样,如果单独的RSS的内容本身就很多,建议按照模板自己写一个Book的模板。

2.如果网站本身提供RSS订阅,不论是摘要还是全文都很好办,复制一下南方周末的py文件,修改py文件文件中的几处内容可以了。当然追求完美的话,你可以为这本书设计一个封面和页眉,但是封面和页眉在一本书中只会出现一次。

3.订阅的内容较多的话建议新建一个帐号,分时段推送,这样可以错开推送的高峰期。

4.对于某些网站,如Nature、BBC等比较友好,生成的书籍比较工整,基本上不需要修改。但是对某些网站,可以通过remove_classes、remove_id等方式删除其中的广告内容,还可以顶点删除某些不需要的内容和调整格式,当然这需要你多次尝试和查看网页的源代码。

5.RSS过多导致内存占用过大,可以在”Application Settings”的”Performance”小节将”Frontend Instance Class”选择为”F2(1200MHz,256MB),这是FAQ中的内容。当然为了节约资源,你还可以将”Max Idle Instances”滑动到最左边,将”Min Pending Latency”滑动到最右边,这样可以保证24H内系统资源仍然不被消耗完。

6.编写Book的py文件时,可以查看GAE后台的Log文件,便于找出编写不规范的地方,py的格式很重要,任何一个小小的格式问题都可能导致运行失败。

7.最后一点,生成的电子书可以使用系统的“自动朗读”功能。

Sep 01

购买Kindle 3很长一段时间了,订阅了一些新闻和网络杂志,主要是通过Mydogear、Kindle4rss等免费网站将内容推送到Kindle 3上的。今年7月1日Google Reader关闭以后,Kindle for Greader这个基于Greader的程序就不能再GAE上正常运行了,后来有人开发出不需要GAE也能运行的服务器和Windows版本,但是使用起来还是不方便,它需要在服务器上定时运行程序才能将订阅的内容推送出来,本地的Windows版本我试用了一下还出错了。原来的一些免费服务不是关闭就是推出VIP服务了,原来的服务内容缩水了,比如不能推送图片了、推送的文件大小有限制了等,所以最后还是放弃这些免费的服务了。

KindleEar是cdhigh开发的基于GAE的服务器端,代码地址为:https://github.com/cdhigh/KindleEar,当前版本为1.65。这个服务器端的优点主要有以下几点:第一,使用GAE,完全免费,上传部署代码简便,网络上有大把的教程可以参考;第二,可以自定义RSS,不但本身提供全文的RSS可以推送,而且那些只提供摘要的RSS也可以顺利地推送;第三,某些没有提供RSS订阅的网站内容也可以通过读取网页地方式容易地搞定;第四,内容地格式处理地很好,最后制作出来地电子书籍很精美,几乎可以达到亚马逊电子书籍地程度。另外,源程序附带地几本常见地电子书籍推送地是单独的一本电子书,自定义RSS则是将几个RSS输出为一本,可以按照实例将每个RSS定义为单独输出的电子书,还可以定义每本书的封面和页眉,十分方便。

先介绍这么多,明天有时间在慢慢介绍详细的用法。