利用Yahoo Pipes实现网站和博客RSS的全文输出

2010年2月4日 | 分类: 网络技巧 | 标签: , | 字体: 超大


  小程最近一直在寻找些实现全文RSS输出的办法,为什么我需要RSS的全文输出呢?(如果你还不太清楚RSS是什么,建议去这里看看“如何使用RSS服务订阅博客——快速扫盲篇”)

  因为现在很多的网站都支持RSS订阅了,但是大部分都只是部分RSS输出。那为什么都是部分RSS输出呢?

  因为当订阅了RSS以后大家可以不用再打开网站了,可如果是部分RSS内容输出,就还需要再点击进入网站看全文,这样可以增加自己网站的流量。

  可这样的后果则让订阅的用户多多少少有些不方便,会让阅读有些不便,尤其是大网站,页面打开又慢,广告又超级多。

  如果我看了全文的RSS,如果我觉得有必要留言,我还是会去网站留言的,并非部分RSS输出就能让更多人关注和留言。

  为了方便自己的阅读,于是小程寻找了一下解决的办法,而最终就找到了强大的Yahoo Pipes,有多强大?大家可以接着往下看。

  小程还是弄个例子来形象说明如何制作全文RSS输出吧。

1. 首先,我们需要找到一个部分RSS输出的FEED(什么是FEED?,简单说就是RSS的链接,我想够简单的理解了吧,呵呵)。既然小程的博客主要是讲学英语的,我们这里就找老外的BBC网站的吧,这些大站一般都是很小气的,随便找了一个他们的RSS链接 http://newsrss.bbc.co.uk/rss/newsonline_world_edition/africa/rss.xml 。

 

2. 然后我们进入Yahoo的Pipes网站:http://pipes.yahoo.com/,注意顶部的几个选项,点击“Create a pipe”:

 

 

3. 如果你没有登陆过就用YAHOO的帐号登陆,没有帐号就注册一个。

 

4. 登陆之后会打开一个Pipe的制作窗口。这里小程得解释一下,为什么叫Pipe呢?因为我们就是要建立一个管道,将一个东西通过我们建立的管道重新加工再输出成我们希望变成的东西。当然,这个管道和水门事件没啥关系,不过老外是真挺喜欢管道的玩意,呵呵。

 

5. 我们从左侧的“Sources”那一栏里面拖一个“Fetch Feed”模块到右侧,点击那个加号也可以,然后把我们之前找到的那个BBC的RSS地址复制粘贴到输入框里,如图所示:

 

 

6. 接着我们再找到左侧的“Operators”那一栏,拖入一个“Loop”模块到右侧,如图所示:

 

7. 然后再回到“Sources”那一栏拖出“Fetch Page”模块到刚才拖出来的“Loop”栏里面,嵌入进去,如图所示:

 

8. 接着我们需要做什么呢?我们刚开始输入进去的BBC网站的RSS不是只是部分输出吗?现在我们就需要让Pipe来给我们截取那些RSS里面每篇文章的全文,所以我们需要随便打开一篇文章,然后查找到一些代码供Pipe来进行截取,这个其实和用火车头之类的采集器采集文章差不多。大家按照我底下的说明来操作。

 

9. 首先我们打开BBC的RSS地址:http://newsrss.bbc.co.uk/rss/newsonline_world_edition/africa/rss.xml 。如果你用的比较老的IE浏览器,可能无法正常显示,而用些第三方浏览器,例如Mathon 2,或者firefox之类则没问题,如图所示,我们可以很清楚看到BBC并没有全文输出,只有一行字。

 

 

10. 然后我们点击标题进入,就选择第一篇新闻吧,地址是:http://news.bbc.co.uk/2/hi/africa/8494759.stm,然后我们在页面点击右键,选择“查看源代码”。

 

11. 如果你玩过文章采集,那么这个步骤就算不说你也可能知道该怎么做了。我们需要找到文章的位置,然后找到唯一的代码,将代码告诉给Pipe(当然不是真的告诉它,相信它还没那个人工智能听懂人话,更别提中国话了,呵呵)。大家不用着急,这里只需按照小程说的步骤来操作就可以了。

 

12. 我们需要全部的文章,所以我们要找到文章的位置,开头还有结尾,源代码是很长的,我们需要利用查找的功能。按键盘的“CTRL+F”,打开查找,然后我们在正常页面中找到文章的开头,然后复制一部分文字进入,这里我们选择这句话“The International Criminal Court”,复制然后粘贴进查找框进行查找。如图所示:

 

 

13. 然后我们寻找文章代码之前唯一的代码,找了找,就是“ <div class="cap"> ”了,这样Pipe就知道从什么位置开始采集文章,结尾我们也找找,像刚才搜索开头文字一样,我们搜索文章结尾的文字“the ground in Darfur at the height of the violence in 2003 and 2004”,然后往后找个唯一的代码,就是“ <div id="socialBookMarks" class="sharesb"> ”了。

 

14. 我们找到Pipe页面,在右侧刚才拖入的“Fetch Page”的“URL”中输入“item.link”,如图所示:

 

 

15. 接着我们再在“Fetch Page”中的“Cut content from”中,前面填入“ <div class="cap"> ”,后面填入“ <div id="socialBookMarks" class="sharesb"> ”,如图所示:

16. 然后在“Fetch Page”底下的“assign”选项中选择“first”,后面的“results to”选择“item.description”,如图所示:

 

17. 最后,我们把“Fetch Feed”、“Fetch Page”和“Pipe Output”都用连接起来,方法是拖拽圆点然后到另外一个圆点上,这根线就是管道了,大家可以看很下面很形象的图片进行操作:

 

 

18. 我们点击右上角的“Save”保存,给建立好的项目取个名字吧,然后点击“Back to My Pipes”退出。最后我们获取新建立好的RSS地址,把鼠标移动到刚建立的项目上,如下图所示,会出现“View Results”选项,我们点击进入。

 

 

19. 进入之后需要稍等一下,然后我们可以看到底下出现了我们建立好的全文RSS输出,我知道你会说这里看到的也只是部分摘要,难道出问题了?别担心啦,这里只是无法给你全部显示而已。我们点击如下图所示的那个“Get as RSS”,就可以打开看到完整的RSS输出了,地址是:http://pipes.yahoo.com/pipes/pipe.run?_id=bd528a0f1a0d05462995c8c111708985&_render=rss,大家可以试试,将这个地址复制到自己的RSS阅读器进行订阅就可以非常方便的阅读全文输出的RSS啦!!o(∩_∩)o

 

  好啦,到这里我们也就学会如何建立网站的全文RSS输出了。最后值得注意的是,现在不少网站开始屏蔽Pipe的建立了,所以万能的Pipe也有点不那么万能了,实在不行,还是用采集器集体采集来看吧,我有时觉得这样反倒更方便、简单一点。不过Pipe还是非常强大的,它还有非常多的功能,小程也会再多玩一会儿。

  另外,小程的博客一直是全文RSS输出的,我向来秉承方便大家就是方便自己的原则,所以大家没必要拿我博客来实验了,呵呵。当然,也希望大家订阅我的博客啦,地址是:http://feed.xc84.com

  1. 2011年1月4日09:37

    真详细 谢谢你 小程 这么好的文章只有2个评论么。。。

  2. 2010年4月20日23:04

    清晰完整的图文教程,博主写得不错!

  3. buzz
    2010年2月28日15:00

    非常好的教程,懂了一点pipes 初阶了。继续研究……