投稿
Rss订阅

张辉老师工作室

分享到:
张辉发表于:2010-02-13 15:15:03, 分类:网络营销

 利用GAE实现twitter与其他微博客同步(详图)

这几天就在做利用google app engine博客同步到其它微博客的工作,昨晚实现了由twitter同步至digu、follow5、新浪,其它的都是一样的方法,可能还有些问题,再测试一下,下面把最详细的方法共享给朋友们,文字方法是月光博客上的。图示自己也不抓了,发现在windows space live上有一个人已经做好了,只是转过来,不过自己的同步成功,按照上面的文字说明和图示,也是有问题的,我把自己遇到的问题最后总结一下。

第一部分:月光上的文字:

从去年开始,微博客已经渐渐取代了博客和SNS,成为最流行的互联网应用之一,Twitter、新浪微博、嘀咕、9911等等都非常流行,很多人都在各个微博平台注册了帐号,但这里就出现了一个新问题,就是信息同步。
每个人都有不同的使用习惯,每个微博圈子的使用人群也不同,很多微博用户在每个平台都有一些人在关注跟随,因此有必要使用同步程序将每个平台的信息进行统一处理,而这个处理中心,我认为应该是Twitter。

Twitter的优点

将Twitter做为微博中心的原因是,更新Twitter的方法很多,工具也很多,使用TwitterFeed或FeedBurner还可以直接从RSS Feed更新Twitter。而Twitter本身也是世界最大的微博客平台,在可预计的未来不会消失,用户发布的信息通常也不会丢失或被删除,还有很多备份和导出Twitter信息的方法,因此把信息放在Twitter是比较保险、安全和稳定的。
将Twitter同步到其他微博客的方法是利用GAE,GAE 是Google的一个非常好的免费托管平台,稳定性非常不错,功能也很强大,支持Cron Job计划任务,因此,我们只需要在GAE上部署一个定时执行的计划任务,设置每分钟抓取用户Twitter信息一次,抓取成功后,将最新消息直接发布到新浪微博等平台,就可以实现实时同步Twitter信息到各个微博客网站的功能。

同步程序的优势

这个同步程序有一些优势,和我先前介绍的利用嘀咕等微博同步相比,这个程序在安全性、稳定性、速度、灵活性都有巨大的优势。

从安全性讲,那些第三方网站会保存你的微博密码用于同步,这会造成你微博帐号潜在的安全性问题,再说,将你拥有数千个粉丝的帐号密码保存在那些同步网站,你放心吗?而使用GAE的程序同步,密码只有你自己知道。我们应该不会担心GAE会被黑吧。
从稳定性讲,我使用该同步程序有几个月时间,几乎没有出现丢信息的情况,GAE服务的性能本身也很稳定,很少宕机。
从速度上讲,此同步程序最短可以在1分钟内同步完全部的信息,很少有网站能提供这样的同步速度。
从灵活性讲,我们可以自己修改代码,实现一些自定义的特殊功能,比如这个程序,我定义了包含@的信息不同步,我们还可以自己修改程序实现很多其他的功能。
目前,本同步程序支持将Twitter同步到新浪微博、嘀咕、9911、做啥、人间网、follow5这六个微博客和Ping.fm、Hellotxt这两个同步服务。同步的流程图如下所示。
以Twitter为中心的微博同步工具
以其他微博为主
如果用户不打算以Twitter为主,也可以使用这个程序进行同步,先注册一个Twitter帐号,然后找到用户主要微博的RSS Feed地址,使用TwitterFeed或者FeedBurner将这个Feed同步到Twitter,然后使用本程序进行后面的同步。如果未来新浪微博支持RSS Feed,那么使用这个方法可以实现把新浪微博的信息同步到其他各个微博客中。
应用的安装部署方法
下载方法,使用TortoiseSVN检出这个SVN地址,然后,编辑app.yaml,修改为自己的appspot应用名,接着,修改twitter.py文件的最后一行,将自己的Twitter用户名填入,修改从 ret = send_sina_msgs("username","password",text) 语句开始的 username 和 password ,将相应微博客的用户名和密码分别填入,不需要同步的服务请使用#号注释掉,cron.yaml文件里是计划任务设置,然后就可以按照此文的方法进行发布,执行 appcfg.py update 目录名,使用Gmail帐号和密码,就可以发布了。
发布之后,GAE就可以定时执行twitter.py程序,由于定时执行可以设置最短为1分钟,因此同步速度很快,基本可以实现即时自动同步的效果。
其他注意事项
follow5要用api_key才能同步,目前程序里放的是我的api_key,建议使用follow5的用户单独申请一个api_key,以防把我这个api_key给用爆了。人间网要邀请码才能注册使用,邀请链接点这里获取。Ping.fm、Hellotxt使用key来认证,具体操作方法参见这里。
第二部分:Msn上的图片说明(图片自己下为了,用人家的文章,再盗人家的链接,不是很厚道):

1. 个人Google App Engine 项目创建

要有Google的账号,并且开通Google App Engine 服务。

进入https://appengine.google.com/ ,点击“Create an Application”创建应用程序

 

在创建窗口,给自己的项目起个名字,比如“yourapp.appspot.com”,Application title 是关于项目的标题

点击“Save”,会出现注册成功的消息

在回到主页,会看到你刚才创建的项目,不过现在没有传文件是不可能有东西的,显示“None Deployed”

 

2.下载安装开发环境

1.下载

首先下载Python,地址 http://www.python.org/download/releases/  下载安装 2.xx系列的最新release版,目前最新的release版是2.6.4,貌似3.xx系列的Google App Engine SDK目前还不支持

接着下载Google App Engine SDK ,地址:http://code.google.com/intl/zh-CN/appengine/downloads.html  下载windows版

2.安装

1)Python安装

双击下载回的文件

点击next,选择安装路径和安装文件内容

点击“next”,进入下一步,安装中……直至结束,点击“Finish”

2)Google App Engine SDK 安装

双击文件程序图标

说明要要求我们必须安装 Python 2.5.x版本,我们安装的是2.6.4的版本,在这里没有问题,直接下一步即可,然后接受协议,选择安装位置

确定好之后,我们就进入安装状态,然后我们可以直接进入到程序里

3. 准备部署安装文件 twitter-feed

twitter-feed 的项目主页:http://code.google.com/p/twitter-feed/

SVN地址:http://twitter-feed.googlecode.com/svn/trunk/

由于我使用的是xp系统,没有使用Linux,所有进行SVN命令时就需要用到TortoiseSVN这个windows下的工具了

TortoiseSVN下载地址:http://tortoisesvn.net/downloads

我们选择32bit的,并且把官方提供的简体语言文件下载

安装TortoiseSVN

 



安装完最后一步,会让我们重启机器,重启即可

然后安装语言包,一切结束后,我们在桌面任意位置点击右键,设置语言

出现设置界面,在General选项里设置语言,选择简体中文

此时用户界面将会变为汉语。右键选择“SVN检出”,在地址栏里面填写SVN的地址

我们选择版本后,“最新版本”,确定

PS:当我们选则“版本”在点击“显示日志”后,会出现一定时间内所有的版本信息及修改内容

设定一个时间段就可以显示所有修改的版本

4.twitter-feed文件修改

1)app.yaml文件修改

打开用TortoiseSVN检出的文件夹twitter-feed,然后编辑app.yaml文件,编辑时最好用UltraEditor等文本文件编辑器

修改第一行 application: twitter-feed 为你在第一步新建的项目名,我这里修改为 application: yourapp

2)twitter.py文件修改

打开twitter.py文件,修改需要同步的微博,将username修改为微博的登录名,password修改为相应微博的登录密码,注意选择除新浪以外的其他微博时,注意要把该行的#号去掉

将最后一行的 twitter相关的 username 修改为 twitter 用户名,注意要保存原来的引号。

当然这里同步的是不包含@的信息,RT和回复是不显现的,如果需要同步@消息的话,需要修改第263行:将 if text.find('@',1) == -1 :  中的@号变为其他符号即可。  

该文件里面 follow 5 同步需要api_key , 这里是用月光的api_key(见第196行),我们可以自己申请

人间网要邀请码才能注册使用,邀请链接是张辉老师的的邀请链接:http://renjian.com/dd/reg?verify_code=aef91abc9cf247faa7b6b272c70c2a64

Ping.fm、Hellotxt使用key来认证(Ping.fm和Hellotxt需要翻墙访问)

Ping.fm的user application key可以在这个地址 http://ping.fm/key/ 获取。

Ping.fm的 API Key可以在这里 http://ping.fm/developers/request/ 创建。

Hellotxt的user_key在这里获取 http://hellotxt.com/settings/api 获取。

Hellotxt的application key在这里 http://hellotxt.com/api/dev 创建。

如果在Ping.fm或Hellotxt中绑定了Twitter帐号,需要将Ping.fm和Hellotxt中关联的Twitter帐号删除,否则会造成死循环

3)cron.yaml文件修改

打开cron.yaml文件,这里默认同步时间为每5分钟,你最短可以修改为1分钟。

5.GAE项目文件上传

启动Google App Engine,可以双击桌面的快捷方式或者安装文件中appengine_launcher.bat文件

程序窗口出现后,点击 File—Add Existing Application选择SVN下载的文件夹Twitter-Feed

程序界面出现项目

点击Run启动,然后点击Browse,此时会蹦出浏览器 网址是http://localhost:8080/,这个表示成功了!

点击Deploy按钮,再弹出的对话框中填入你的gmail地址和密码,然后回车,此时文件会上传至GAE

上传页面

上传成功!

此时再查看GAE状态,Current Version已经变成1了

6.效果验证

登录twitter,输入任意语句

查看新浪微博

新浪同步成功啦!

第三部分:我遇到的问题及解决方法

1.hellotxt后的用户名密码,前面是短的,后面是长的,这样好分辨。

2.在上传时,可以直接在Windows的CMD行中设置,而不用上面所说的图形界面,我试过N决,图形界面总不成功。

3.其它的,如果用的朋友遇到问题,在下面留下问题,我尽量帮解答。

4.应朋友需要,把在CMD下上传Twitter-feed的方法图示加上,记得要进入你的Google appengine目录下,如下图所示第一行,最后再输入你的email地址,用户名即可实现上传至GAE.(2010年5月22日更新)

原创文章如转载,请注明:转载张辉 老师工作室 [ http://www.qdnbp.com/zhagnhui/ ]

本文链接地址:http://www.qdnbp.com/zhanghui/Blogs/seo/201002/20100213151503.Html


无觅相关文章插件
评论啦
读者推荐
Baidu赞助商
最新日志
赞助商链接
关注张辉老师工作室微博
填写您的邮件地址,订阅我们的精彩内容: