终极同步大法

随着微博的热门,已经有很多的微博程序纷纷出现了,而我们该如何挑选这些微博程序呢?首先我们要考虑的是选择单用户还是多用户的。但是如果像我这种注重功能的人,可能第一个想到的是它的同步功能如何?今天就介绍一种方法,为你的PageCookery的同步功能做拓展。

这里主要是利用了月光博客制作的GAE同步程序制作的一个针对PageCookery的简易教程。总所周知,Twitter现如今是微博界的老大,虽然被G.F.W了,但是仍然不能阻挡它的光芒!我们可以利用Twitter这个跳板,将其他地方的消息同步到Twitter中,同时也可以利用Twitter的多方式发布消息将自己的消息发布到Twitter中,然后将Twitter的消息同步到别的地方去!而月光的这个GAE程序就能够实现将Twitter的信息分发到各大微博网站去,包括新浪微博/嘀咕/网易微博/9911/51follow等等微博门户。而PageCookery微博程序又提供了对嘀咕的双向同步,而且也提供了RSS导入这么一个极佳的功能。

有人可能会说了,为什么我不直接用Twitter的RSS导入到PageCookery来呢?这是因为直接导入RSS的话,会有很多的RSS垃圾产生,比如你@别人的消息,以及RT别人的消息也都会同步过来,这个还算是小事,重要的是Twitter的RSS格式包括了用户名,所以每次导入Twitter的消息时都会带上"username:"这样的前缀,让人看起来甚是不爽,所以我们要对RSS进行过滤!而月光博客的GAE同步程序也正是做到了这一点。在此,要感谢月光博客为我们带来了这么好的一个工具。而且,利用GAE的高效工作性,我们基本能够实时的同步我们的消息到PageCookery中(我说的是几乎)……

好了,优点讲完了就改说怎么捣鼓了,首先呢,你要有申请一个GAE,如果有,则可跳过此不,如果没有,请参照如何申请GAE

申请好GAE并成功建立一个项目之后,我们要做的就是将月光博客的GAE程序给下载下来,下载方法,使用TortoiseSVN检出这个SVN地址,然后,编辑 app.yaml,修改为自己的appspot应用名,接着,修改twitter.py文件的最后一行,将自己的Twitter用户名填入,修改从 ret = send_sina_msgs("username","password",text) 语句开始的 username 和 password ,将相应微博客的用户名和密码分别填入,不需要同步的服务请使用#号注释掉,cron.yaml文件里是计划任务设置。至于如何使用TortoiseSVN下载,请参考:教你如何用SVN下载源码

千万不要忘记,记得修改最后一样你要同步的Twitter帐号!编辑保存后,我们就可以把程序上传到GAE主机上去了,至于如何上传么,请参考:如何上传文件到GAE image

好了,前半部分工作就做好了,下面我们就要做另外一部分工作了,现在假设你将Twitter上的信息同步到了嘀咕,由于PageCookery的嘀咕同步有个限制,就是嘀咕没有认证的API(也就是嘀咕页面消息显示是来自API)的消息PageCookery是不会同步过来的,所以我们只能通过RSS导入的法子,获取嘀咕微博的RSS地址,然后导入过来就可以了。(不能使用RSS导入功能的童鞋表示灰常抱歉了。)有人说了,如果我填写的是新浪微博的帐号怎么办?恩,我们知道新浪微博还没有开放RSS功能,不过这个也不要紧,http://imnerd.org/sinarss.php+"你的ID号"就是你的RSS地址了,这里要再次感谢月光博客提供的程序,有需要的也可以去他博客下载哦~~

其实个人认为吧,我们应该能从月光的GAE程序中直接获取到RSS地址的,那么就可以直接导入进PageCookery了,而不用使用其他微博做跳板了,只是python实在不是很了解,就没心思看他的代码了,希望有心人能够发现啊,呵呵~~最后就讲讲这个同步的时间问题,从Twitter同步到嘀咕等微博网站的时间是可以设置的,最短可以是1分钟(修改地方在cron.yaml文件最后一行的every * minutes,将*换成同步间隔时间即可),基本上可以做到实时同步,然后是嘀咕等RSS同步到PageCookery,经过我的初步观察,最迟15min~20min应该会同步过来的,如果没有同步过来的话我就告诉你一句:反正迟早的事,何必这么焦急呢,呵呵!

最后要提醒大家一句,请注意不要开启对某个微博的双向同步,一面发生消息同步死循环的状况……到时候估计删消息会删的你手软的!哈哈!

如何上传文件到GAE

GAE就不用我向大家解释了吧,引用维基的介绍:
Google App Engine是一个开发、托管网络应用程序的平台,使用Google管理的数据中心。它在2008年4月发布了第一个beta版本。 Google App Engine使用了云计算技术。它跨越多个服务器和数据中心来虚拟化应用程序。[1] 其他基于云的平台还有Amazon Web Services和微软的Azure服务平台等。 Google App Engine在用户使用一定的资源时是免费的。支付额外的费用可以获得应用程序所需的更多的存储空间、带宽或是CPU负载。[2] 支持的编程语言和框架 当前,Google App Engine支持的编程语言是Python和Java(通过扩展,可以支持其他JVM语言,诸如Groovy、JRuby、Scala和Clojure)。支持Django、WebOb、PyYAML的有限版本。Google说它准备在未来支持更多的语言,Google App Engine也将会独立于某种语言。任何支持WSGI的使用CGI的 Python框架可以被使用。框架可以与开发出的应用程序一同上传,也可以上传使用Python编写的第三方库。[3][4] 更多介绍请转至: WikiPedia.Org
好了,废话少说,这里以Python为例子进行图解,首先我们要下载Python这个语言程序包,由于官方网站已经被GFW了,所以这里直接放上Python的FTP下载地址:http://www.python.org/ftp/python/2.5.1/python-2.5.1.msi 大家也可以点击这里自己选择版本进行下载。 PS:我就奇怪了,堂堂的一门计算机语言的官方网站,你GFW没事去屏蔽人家干什么?! 下载安装好后,我们还需要另外一个工具,那就是GoogleAppEngine For Python,下载地址是:传送门 如果你还没有Gmail账户的话,请到相关页面申请一个Gmail账户,如果你已经有了Gmail账户,但是没有GoogleAppEngine的话,请参见教你如何申请GAE这篇文章。 好了,准备工作都做好了,那么第一步,你要在GAE新建一个Application,如图1-2所示
image

image

现在以假设你创建了一个ID号为imnerd的应用为例讲解如何上传程序到GAE空间,这里所用的程序是Python版类WordPress Micolog程序,由国人开发的一款强大的程序,可导入WordPress的XML文件等等……这是最新版0.7Beta2的下载地址:http://code.google.com/p/micolog/downloads/list 要提醒的是,仅仅这样还是没有用的,Python还是不能运行,必须将Python的安装目录添加到环境变量中,具体的做法是右键单击我的电脑(或者是计算机)选择属性,然后选择高级(Win7/Vista选择高级系统设置),再选择环境变量,在系统变量的变量里面,找到PATH变量,然后双击PATH变量的值,在后面添加“;C:\Python25”(不包括引号!),C:\Python25是你的Python安装地址,如果有所差异请自行做相应修改!然后点击确定~ 下面我们要对Micolog程序进行相应的修改,首先我们要打开app.yaml,用记事本或者写字板程序都成。将第一行的application后面的值改成你申请的空间ID,本文为imnerd!就是图一要填入的Identifies。然后由于程序本身的原因,我们要删除掉index.yaml才能正常的运行程序。 然后我们单击开始,点击运行,输入cmd(Win7直接在搜索框中输入cmd并回车即可)运行DOS窗口,输入“appcfg.py update C:/users/michael/desktop/micolog”后面这个路径是你的micolog程序的路径,这里以桌面的micolog文件夹为例,请根据情况对其修改 然后DOS窗口会自动运行,途中会让你输入mail和password的,所要要注意了!而且password输入的时候是没有显示的,星号也没有,所以你只管输,输完点回车就成!
image
好了,这样文件已经上传完了啦,浏览器输入http://imnerd.appspot.com观看一下吧,哈哈!(imnerd为ID号,请做相应修改!)

多图教你申请GAE

今天教大家如何申请Google App Engine,你问为什么?嘿嘿~为后文打伏笔啊~这几天的文章是高耦合度的哦~ 首先我们要到Google App Engine注册帐号~地址图片上有,太懒了就不打了……
image

image

image

image

image

致此你的Gmail帐号就成功注册了GAE了,那么下面我们要创建一个Application的话又该怎么做呢?怎么做?看图呗~首先我们要登录GAE的后台,或者登录Google账户控制面板,选择GAE旁边的My Application进入也是一样的~
image

image