注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

月光博客

青青子衿, 悠悠我心, 但为君故, 沉吟至今

 
 
 

日志

 
 

实时同步Twitter信息到新浪微博  

2009-11-07 20:05:24|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

如何自动将的Twitter信息同步到国内的新浪微博、开心网、人人网等国内SNS网站,我先前曾经介绍过一个同步方法,该方法虽能实现同步功能,但是同步不是实时的,有大约一小时左右的时差,这个时差是由TwitterFeed引起的,同时该方法的设置较为繁琐,需要多次翻墙。

  因此,我开始尝试一种新的同步方法,开发了一个定时自动读取并同步Twitter信息的Python程序,以简化同步的流程,并缩短同步时间,做到基本实时同步功能。原先的同步的流程图是: twitter -> appspot -> twitterfeed -> ping.fm -> customurl -> huotu -> 新浪微博,新的同步流程变成了: twitter -> appspot -> huotu -> 新浪微博,步骤大为简化,只需在GAE上设置一个定时执行的计划任务即可。

  由于GAE支持Cron Job计划任务,因此,我们的Python程序可以实现每分钟自动调用一次,调用的时候,先从Twitter上抓取用户最新的消息,抓取成功后,将消息同步到嘀咕火兔,然后分发到新浪微博、开心网等,如果设置为每分钟执行的话,同步时差只有一分钟左右的时间,基本实现了实时同步Twitter信息到新浪微博等SNS网站的功能。

  该程序Python程序我在GAE上调试并不太顺利,按照官方的说明配置好了cron.yaml文件,但是更新twitter.py之后,Cron Job计划任务还是不起作用,后台也看不到相关的Cron Job任务。

  后来经过一番研究,终于解决了GAE中Python的Cron Job计划任务问题,原因很简单,因为我的“Google App Engine SDK for Python”是很久以前安装的,那时候GAE还不支持计划任务,因此无法更新cron.yaml文件,重新下载了一个最新版本的“Google App Engine SDK for Python”安装后,Cron Job计划任务更新就成功了。

  不过,新的问题又来了,我发现该应用调用Twitter API的时候,失败率非常高,几乎有一半的情况,调用的时候会提示“Rate limit exceeded. Clients may not make more than 150 requests per hour.”,这让我怀疑GAE的外部IP是不是非常少,还有很多第三方程序在GAE上调用Twitter API,才导致每小时的调用超过150次,否则的话,光我自己的调用绝对不会有这么高的频率,大概是因为Twitter没有将GAE的IP设置为白名单,如果有一天Twitter不限制GAE的IP,那应该就没什么问题了。

  安装使用说明:

  下载方法,使用TortoiseSVN检出这个SVN地址,然后,编辑app.yaml,修改为自己的appspot应用名,接着,修改twitter.py文件的最后一行,将自己的Twitter用户名,嘀咕火兔用户名和密码分别填入,cron.yaml文件里是计划任务设置,然后就可以按照此文的方法进行发布,执行 appcfg.py update 目录名,使用Gmail帐号和密码,就可以发布了。

  发布之后,GAE就可以定时执行twitter.py程序,由于定时执行可以设置最短为1分钟,因此同步速度很快,基本可以实现即时自动同步的效果。

原创文章如转载,请注明:转载自月光博客 [ http://www.williamlong.info/ ]

本文链接地址:http://www.williamlong.info/archives/1980.html

  评论这张
 
阅读(19)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017