分享

借助google reader收取rss中早期文章的方法

 华灯初放l 2012-06-27
1.  rss订阅
一般我们在许多站点上能看到一个RSS标志,它提供一种push和pull的方式来阅读特定主题的最新文章(如博客等)。有许多的rss阅读器可以处理这种rss feed,包括在线的阅读器如google reader,及本地阅读器如各主流邮件客户端thunderbird/outlook/Foxmail等都有相关功能。

rss订阅的原理是:阅读器或者浏览器输入一个rss feed网址时,服务器那边会返回一个xml文件。这个文件具有特定的格式,基本上来说,它包含一个列表,列表每一项都是一篇文章的描述,其中有文章标题,正文登信息。

但是,服务器不会把它所有的文章列表都发给客户端,原因当然主要是性能考虑,一般只会把最近的文章列表发给客户端。那么,客户端这边通过这个rss feed只能看到最近的文章。那么,怎么样能看到以前的文章呢?

2. google reader
google reader提供了很强大的rss订阅功能,它不仅可以看到最新的更新,还可以看到很久以前的文章。只要你拖动reader里面的滚动条,到达最下边时,如果还有以前的文章,google reader会自动去下载下来。

Google reader为什么可以做到别的rss阅读器无法做到的事情呢?这要归功于google童鞋强大的搜索功能。它每天都在爬网络,把相关网站数据存入了它的数据库中。因而,google reader可以显示以前的文章。

Google reader可以说是最好的在线阅读器了。但是它的一个问题是,它默认也只显示最近若干文章,想看以前文章的话,只能通过滚动条向下,要重新载入,比较慢。而且,部分童鞋喜欢在本地阅读文章,尤其是那些经典的文章需要本地保存以方便随时翻阅。这样google reader就不能胜任了。该怎么解决呢?估计大家已经想到了一个办法,能不能直接借助google的能力把以前的文章拿下来放到本地rss阅读器中呢。答案是可以的。

3. 抓取google reader的数据
这里有两种方式,比较推荐第二种。当然,对于程序大牛们来说,第一种方式无疑自由度更大一些。

方式一:利用google reader API,这个比较复杂,请参考http://code.google.com/p/pyrfeed/wiki/GoogleReaderAPI

方式二:直接用google提供的链接。
链接的格式是:【http://www.google.com/reader/atom/feed/ + 你的RSS + ?n= + 你所需要的文章条目数量】,
比如我想抓取http://blogs./vcblog/rss.xml这个rss feed下的最新100篇文章, 在浏览器中输入http://www.google.com/reader/atom/feed/http://blogs./vcblog/rss.xml?n=100
需要注意的是,如果你要订阅的rss地址中含有?的话,记得把?替换为%3F。

然后,google童鞋就会帮我们查询它的数据库,然后返回文章列表。返回的内容也是一个xml文件,如果你的浏览器没有设置默认打开方式的话,可以把这个文件下载下来。比如在Firefox中,可以通过查看页面源代码,然后另存为xml文件即可。

这个xml文件包含了订阅的文章列表的所有信息,有了这个xml文件之后,可选的处理方式更多了。比如可以通过自己写一个小程序,或者通过一个xls样式来显示它即可,也可以把这个xml文件送个本地rss阅读器。

下面我采用的是thunderbird作为rss阅读器。

4. thunderbird订阅
thunderbird订阅方式比较简单,设置一个单独的账户(不是邮件账户),然后账户上右键点击“订阅”,添加一个订阅网址即可。

问题一:thunderbird不能直接通过刚才的google链接来订阅,不确定原因。报出的错误大致意思是说该链接不是合法的订阅地址。

问题二:thunderbird不能直接导入我们之前拿到的订阅的文章列表xml文件。尽管thunderbird在管理订阅时,支持导入导出功能,但是导入导出的格式都是opml格式,文件中只含有订阅的网址等信息,没有文章内容。

解决办法是:把xml文件放到某个服务器上(比如自己的服务器),把url记录下来,让thunderbird订阅即可。

5. 收尾工作
重新订阅原来的网站那个rss feed,把刚才自己服务器上订阅的内容移到这个文件夹下面,然后删除对自己服务器的订阅。这样以后就可以直接看到 原来rss feed的更新内容,而且原来的文章也保存下来了。


如果各位有更好的方法,请不吝指教~

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多