有时候你看到了一个好的博客,于是你订阅了它,但你会发现,如果直接访问订阅的RSS源,它只会返回最新的10-20条内容,这是由博客服务器决定的。如果偶们非常希望能够看到它以前所有的文章,怎么办呢?
订阅至Google Reader是个好办法,Google Reader发现你希望看到更多条目的时候,自动会获取更多的历史条目。这是怎么做到的呢?原来Google童鞋已经爬了多年的网络了,它所爬到的信息都存在它的数据库里,所以其实当Google Reader提供给你这些历史条目的时候,它实际上是从它所爬到的数据库中提取出来的。但有时候使用Google Reader也不够方便啦,因为它是增量式提供给你信息的,如果这时候希望获得所有的条目,用Google Reader一小段一小段地去取实在太过麻烦。今天发现了一个方法,很有效,很方便,推荐给各位童鞋。
假设现在希望获得robbin的JavaEye博客的所有文章,它所提供的RSS链接是
http://netxdiy.iteye.com/rss
那么,召唤Google童鞋~
http://www.google.com/reader/atom/feed/http://netxdiy.iteye.com/rss?n=100
看清楚咯,http://www.google.com/reader/atom/feed/ + 你的RSS + ?n= + 你所需要的条目数量
通过这个API,Google Reader就会把它数据库里关于这个feed的条目根据你所需要的数量以Atom的格式返回给你。如果你想要所有的条目,很简单,设n=999999就行了...简单估计一下,一个博客开20年每天100篇发布的话也不会超过这个数字的,所以放心吧~
当然这里还有个小问题,如果我的feed的url中含有一个问号“?”怎么办?比如这个feed
http://www.itgary.com/conf/rss/rss_builder.php?feed=gmazars.xml
如果直接访问http://www.google.com/reader/atom/feed/http://www.itgary.com /conf/rss/rss_builder.php?feed=gmazars.xml?n=100这个url,Google会告诉你,内部服务器错误。解决方法也很简单,用HTML Encoding把“?”符号Encoding掉就好了,去查了一下编码表,“?”对应%3F,所以说,用这个url访问就OK啦
http://www.google.com/reader/atom/feed/http://www.itgary.com/conf/rss/rss_builder.php%3Ffeed=gmazars.xml?n=100
拿到了这个xml之后你就可以用你喜欢的方式来显示它了,比如用一个xsl样式,或者自己写一个小程序就行啦~
分享到:
相关推荐
JavaEye博文JavaEye博文JavaEye博文JavaEye博文JavaEye博文
博客备份 可以解析备份博客的文章标题,文章类别,发表时间,文章正文,原文地址共五项内容。支持断点续传备份,支持增量备份,只备份最新博文。 多线程多用户 真正多线程博客下载备份,可以同时下载多个不同网站...
javaeye被黑 大家看看
JavaEye3.0开发手记
javaeye的信息提示框代码之css,application.js
JavaEye的API使用帮助
JavaEye+技术架构,讲述java框架的应用
javaeye的jert,和birt的使用文档javaeye的jert,和birt的使用文档
Flex学习笔记_09 数据绑定_概念、使用 - Java&Flex - JavaEye技术网站 希望对爱好有帮助!!
javaeye月刊2008年4月 总第2期.pdf
javaeye sourcecode 开源安卓客户端, JavaEYE
JavaEye新闻月刊_-_2009年3月_-_总第13期.
javaeye 论坛小测试 javaeye论坛小测试答案 javaeye论坛测试答案 这下你们就省事了。
使用 Eclipse 平台进行调试 - Java - JavaEye论坛
自己打算找一个和javaeye一样的workpress代码高亮插件, 没找到, 于是把javaeye的拔了出来.
讲述javaeye硬件架构以及软件架构的发展历史
android javaeye客户端 javaeye发布的
javaeye 新闻月刊 2010 4月