2010年2月7日星期日

新浪微博的RSS Feed功能

  以新浪微博为主的门户网站的微博,都有一个很令人不爽的习惯,就是不支持RSS,而Twitter和国内早期的微博都是默认就支持RSS的,这让很多深度微博用户感到很不习惯。

  门户网站可能有这样一个顾虑,就是开通RSS后,别人都在RSS阅读器看信息了,不去其网站看,不带去流量,其实这并不值得担心,Twitter虽然支持RSS,但很少有人会通过RSS阅读器来看Twitter,因为阅读器看微博客的体验并不好,还有一定的延时,因此开发RSS功能对于微博客来说并没有什么害处。

  鉴于新浪微博一直不提供RSS功能,因此我自己开发一个新浪微博的RSS功能,主要用处是数据交换,例如将新浪微博的数据自动同步信息到Twitter和其他各个微博客。为了节省资源,我将此程序托管在了新浪的SAE平台上。

  这个新浪微博RSS的原理很简单,就是当用户访问的时候,抓取新浪微博的用户页面,将里面的信息进行过滤,按照标准RSS的格式生成一个RSS Feed,因此这个程序目前支持新浪微博的认证用户和草根用户,但两者调用方法略有不同。

  新浪认证用户的调用方法是:

  先找到你访问新浪微博的地址,例如 http://t.sina.com.cn/williamlong ,然后将 t.sina.com.cn 后面的地址取出,做为参数调用: sinarss.php?username=williamlong ,其中username里的数据是你个人的t.sina.com.cn后面的那个地址。

  新浪草根用户的调用方法是:

  先找到你访问新浪微博的ID号,具体方法是,登录新浪微博,点用户的关注、粉丝等页面,会看到地址栏中间有一串数字,取出中间那个数字。然后将这个数字做为id参数调用一个地址,调用地址类似: sinarss2.php?id=1494759712 ,其中id为草根用户的新浪微博id号。

  有了新浪微博的RSS地址后,你可以轻松的利用FeedBurner或TwitterFeed将新浪微博的信息同步到Twitter上,再利用我先前的Twitter分发工具,就可以把新浪微博的信息自动同步到网易微博、嘀咕、9911、做啥、人间网、follow5、Ping.fm、Hellotxt等服务。省去了手动更新同步的烦恼。

  使用这个原理从新浪微博同步到Twitter,会有一定的延时,根据我自己实地测试一条数据的同步,使用FeedBurner进行同步新浪微博数据到Twitter,大约有20分钟左右的延时。

  如果你在使用这个工具的时候有什么问题或BUG,请加我的新浪微博进行反馈。