24小时联系电话:
010-62346005-808

有事点这里 有事点这里  有事点这里 有事点这里

新闻资讯NEWS

实时同步Twitter信息到新浪微博日期:2012/12/8 15:00:31  

 

  怎样主动将的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分钟,因此同步速率很快,根本可以实现即时主动同步的结果。

咨询总机:010-62346005

地 址:北京市海淀区学院南路38号智慧大厦604B
郑州分公司地址:河南郑州金水区东风路科技市场对面米兰阳光6号楼917室
邮 箱:haidanet@163.com
24小时联系电话: 15201609116 13651084380