用 Yahoo Pipes 过滤 Twitter feed

只恨俺用的不是国外主机,否则 twitter 的输出可以用 ZeroZ 的方法,所以之前我一直用的是以 tidyTweet 作为中介来读取并过滤 twitter 的 feed 来输出最新 twitter 消息,不过从昨天开始,我的这个 tidyTweet 就不能正常输出了,本还以为是这个 feed 反应过慢,可耐心等了整整一天还是没有动静,于是动手将其撤换。

想起曾经任平生大哥分享给我过一个他用的 twitter 输出方法,那就是用 Yahoo Pipes,早就想试试了,只碍于当初网络问题没能实践,今天趁此机会折腾了一下,居然成功了。简述方法如下:

1、点此注册 Yahoo Pipes,这个不具体说了,如果有 yahoo id 的同学可以直接登陆。

2、注册登陆后,在头部导航有一个明显的 Create a Pipe 按钮,点击进入。

3、在侧边栏树型菜单中找到 Sources - Fetch Feed,将其拖动至舞台中央,并在 URL 栏中填写 http://search.twitter.com/search.atom?q=from:wange1228,把其中的 wange1228 换成自己的 twitter id 就可以了。意思就是输出 wange1228 帐号的 twitter feed。

4、将 Fetch Feed 与 Pipe Output 之间的小圆点拖动连接起来,这也就是预览 feed 输出的结果了。这个设计对于 Pipes 这个词的意思很形象。

*5、这一步打星号是因为可有可无,也就是为你定制的 twitter feed 加过滤器,过滤器在侧边栏树型菜单中的 Opertors - Filter,可以过滤掉所有的 RT 或者不想看到的关键词等,这个自由发挥啦。

6、点击 Save 后返回 My Pipes,如果不出意外,Yahoo Pipes 对 twitter 的过滤 feed 就已经生成了,点击 Get as Rss 就可以得到相应的 feed 源。

7、接下来的 PHP 部分就简单了:

<?php
$feed = fetch_feed('http://pipes.yahoo.com/pipes/pipe.run?_id=f94cbcc1e6e433ca068aec29c63b8327&_render=rss');
$items = $feed->get_items(0,1);
foreach($items as $item) {
echo '<a target="_blank" title="Follow Me on Twitter" href="http://twitter.com/wange1228">@wange1228</a>: '.$item->get_description();
}
?>

其中 fetch_feed('') 中就是填第6步中 Get as Rss 得到的地址即可。

应该说这是一个很傻瓜地教程了,所以我就不配图了,有兴趣的朋友可以研究一下任平生大哥的 twitter filter 在 Yahoo Pipes 是怎么写的,那叫一个高级,充分利用了 Filter,而且可以设置参数,有通用性,超级强大。

我也是第一天玩 Yahoo Pipes,还没有深入折腾,这篇不算教程的教程若是哪里写的不对,还请指正,谢谢。