如何用类似订阅RSS的方式浏览新浪微博?

关注者
397
被浏览
55,043

18 个回答

首先直接给 RSS 地址:
http://pipes.yahoo.com/pipes/pipe.run?_id=c056f83e95a119e8466745db03b0e9e0&_render=rss&weibo=1191258123
把末尾 weibo= 后面的数字改成你想订阅的 新浪微博数字ID 就可以啦…

至于 数字ID 怎么找,方法很简单:进入目标微博主页,点击任意一条微博下面的发布时间,进入它的永久链接页面,此时观察浏览器地址栏的 URL 地址,形如:
http://weibo.com/1191258123/AqIERhgF9
中间那串数字就是你要找的 微博ID 了…

额,其实知道了 数字ID 之后在我修改的这个 RSS for Sina Weibo 输入 ID,点击 Run Pipe,看到下面显示出微博后,点击 Get as RSS 就可以得到 RSS 地址了。

基本原理

注意到新浪微博的微博秀(例如:微博widget)是不需要登录就可以访问的,通过 Yahoo! 出品的 Yahoo! Pipes(pipes.yahoo.com/pipes/)抓取页面进行自定义就可以得到 RSS 输出了。


横向对比

由于新浪微博官方不提供 RSS 输出服务,其他各种第三方 RSS 生成器(google.com.hk/search?)都是由个人维护,一旦使用人数增多,服务器的开销就不容忽视,两年来,使用过的 RSS 大多失效,有的则改为收费模式,估计就是这个原因吧。

虽然如此,还是有人坚持在提供免费服务,这里要推荐 @陈佳 维护的微博档案sinacn.weibodangan.com/)。

而 Yahoo! Pipes 为 Yahoo! 出品,提供比 IFTTT(ifttt.com/)更强大的自定义功能,可广泛应用于各种内容的抓取与定制,服务稳定可靠,可为长久之计。


发现之旅

早在 2012 年,就曾在 @采铜 的回答 如何使用 IFTTT 将新浪微博收藏的内容同步到 Evernote ? 中第一次了解到 Yahoo! Pipes 这个服务,由于当时已经有了其它各种 RSS 生成器,就没有深入研究。

就在几天前(2014-05-16),无意中搜索到这篇博文:新浪微博-Yahoo Pipes,读完并亲自测试之后,体会到 Yahoo! Pipes 的强大之处,赞叹不已,见当时的评论:“Nice work! Better than any ever seen!”该文作者貌似正在尝试普及 Yahoo! Pipes,这里推荐关注该博客(Yahoo Pipes | RSS: pipes.lofter.com/rss)。


具体步骤

根据 新浪微博-Yahoo Pipes 一文作者提供的 pipe @新浪微博订阅器 略加修改,改动后的 pipe 见:RSS for Sina Weibo,登录之后可以查看具体流程。
  1. 由用户输入 新浪微博数字ID,这里使用 Text Input Module(pipes.yahoo.com/pipes/d)。
  2. 构造微博秀 URL 地址,这里使用 URL Builder Module(pipes.yahoo.com/pipes/d)。
  3. 抓取微博秀页面,这里使用 XPATH Fetch Page Module(pipes.yahoo.com/pipes/d)。
  4. 截取最近的 5 条微博,这里使用 Truncate Module(pipes.yahoo.com/pipes/d)。
  5. 给每条微博设置标题,这里使用 Loop Module(pipes.yahoo.com/pipes/d)以及 XPATH Fetch Page Module(pipes.yahoo.com/pipes/d)。
  6. 给每条微博设置链接,这里使用 Rename Module(pipes.yahoo.com/pipes/d)。
  7. 修改微博格式,这里使用 Regex Module(pipes.yahoo.com/pipes/d)。
  8. 完善 RSS 格式,这里使用 Rename Module(pipes.yahoo.com/pipes/d)。


References


==

最近又制作了一些其它网站的 RSS,都在这里呢:Pipes from WaydeTse,有需要的请自取,以后可能会有更多…
推荐使用 新浪微博档案 速度很快,直接rss输出,是我维护的,一年多了。
使用方法:
1..选择你的需要保存的微博,首页输入用户名搜索,或者直接输入地址sinacn.weibodangan.com/(用户名或者用户id)/,打开他的页面 。
2. 页面左侧有个『rss订阅』按钮,点击,出现了rss地址。