推特中文圈

2009-8-16

twitese

遵从我一个假期一个作品的习惯,这个暑假的作品完成了:推特中文圈 – Twitese http://twitese.appspot.com/

(update:PHP版项目地址:http://tuite.googlecode.com)

介绍

推客中文圈Twitese旨在帮助中国twitter使用者寻找国内优秀twitter用户,同时让大陆用户无需翻墙即可更新状态和浏览好友消息,通过抓取twitter上的中文用户形成”排行榜“以及“随便看看”,让用户有一个类似饭否的界面和功能使用twitter。

原理

twitter 一两个月前开始被和谐,估计以后是不会再恢复了,于是出现了很多翻墙或不翻墙使用twitter的方法。其原理是通过API把获取和发送twitter信息的程序放在国外服务器上,国外的服务器访问twitter没有限制,而国外的这台服务器没有被和谐,所以国内也是可以访问的,等于把这台服务器作为国内用户与twitter连接的中介。这就是twitter不可能被完全封杀的原因,每一台外国服务器都可以把你连接到twitter上。推特中文圈也是这个原理。

功能

此网站搭建在Google AppEngine上,也就是外国服务器。分两部分功能:

功能一:实现使用twitter的所有功能,发推,加好友,看消息。

实际上就是给twitter加个外壳和中介,跟itweet等网站一样。界面模仿饭否,所有用词都遵从饭否,缅怀饭否,同时也是符合国人使用微博客的习惯。

功能二:不断抓取twitter上所有中文用户,形成“随便看看”和“排行榜”

通过Google AppEngine的Cron功能,每隔一定的时间抓取某一用户的好友存进数据库,存之前判断是否为使用中文的用户。只要从任意一个好友数非零的用户开始抓取,循环下去,就差不多能抓取到所有twitter上的中文用户。对已抓取的则只更新最新消息,这样就形成了“随便看看”

困难

做的过程碰到的问题和困难不少,列举主要的:

  1. Google AppEngine的数据库很差,十分差,如下:
    • 数据库建立后不能增加新栏不能减少栏,必须删除重建才可以。
    • Key不能以数字开头,导致我每一个Key前都要增加一个字母。
    • 查询语句没有like也就算了,连or都没有,服了~导致制作排行榜的标签功能变得困难。
    • 一次最多只能查询到1000条数据。导致我不知道我已经抓取了多少条数据,排行榜上能显示的也就1000个用户。
  2. twitter停止source的申请,新应用只有通过OAuth验证才能有“from [myApp]”的字眼,OAuth验证需要经过twitter网站,这对于大陆用户实在不是什么好东西,没有了source,对于宣传和统计很不利。
  3. 本地测试十分慢,是因为本地读取twitter的API十分慢,有时全部传上去在网站上看效果反倒快了,另外Google AppEngine的上传很不方便,就算我只改某一个静态js文件的一个标点,都要整站上传,Eclipse插件也没有提供只更新cron的功能,麻烦。
  4. Eclipse一天无响应十几次-_-! 这不知道是什么原因

过程

暑假刚回来那阵子在想要做什么东西好,起初准备用javascript做一个AIR程序,jquery专用编辑器,后来发现AIR里的WebKit竟然不支持撤销功能,后来再发现Aptana写jquery也有提示的,更没必要做了,作罢。

后来接触下Google AppEngine,发现Cron Job,我在寒假做秘饭里饭否统计的时候就很希望有这么一个功能:每间隔一段时间执行一次程序,因为对web程序来说一个程序不能运行太久,抓取数据一次只能抓一点,所以要能自动间隔时间执行程序就能实现连续抓取。Cron Job正合我意~起初只想抓取所有twitter中文用户把排行榜和随便看看做出来就是了,后来觉得索性做全套,把用twitter需要的功能都加上了。

做的过程还是跟做Q版海底俄罗斯时一样疯狂,可能更疯狂些,我做东西似乎都急着要把它做完,这次做的速度也算挺快的了,5号开始到14号完成,期间还有一天回碣石没做。做的过程中觉得乱,但做完后觉得结构还可以不是很乱,该分出来的分出来了,还算清晰~接下来还要慢慢完善,还有许多功能可以做。

前天晚上放上去后发了一推,很快被传播,twitter的传播速度比想象中要快,那晚忙死了,都在回复和修复大小bug~看到挺多正面评价挺开心的,呵~辛苦没白费~

最后

祈祷别被封~

分类:作品
评论

*

*

2009年10月28日 12:55

[…] 暑假完成了推特中文圈,放在GAE上,大家的反响挺好,呼吁开源的人也很多,但我一直没开源,这里写了我开源的顾虑。 […]

2009年12月7日 19:57

源码哪里下载

2010年1月25日 23:13

支持lz
不开放源码可以写篇教程
我看你好像没时间打理这个作品。。。
有些问题
发了实际没发上,随便看看每次都一样

2010年1月25日 23:35

sorry 有问题的是http://s60jj.com/twitter/index.php
你那个已经打不开了
那个好像就是用的你的

2010年2月3日 18:15

1小时前,貌似被封了

2010年4月13日 21:33

不知道能否分享下源代码呢?

2010年5月5日 23:02

支持,强烈支持

[…] 暑假完成了推特中文圈,放在GAE上,大 家的反响挺好,呼吁开源的人也很多,但我一直没开源,这里写了我开源的顾虑。 […]

2010年7月7日 13:44

围观

2010年7月7日 13:47

我是新手 请关照

2010年7月23日 14:02

曾经也被洗脑 时间一长自动还原了本来面目

2010年8月10日 10:58

我想上推特,但发现只有登录没有地方注册啊?谁能帮帮我拜托了!

2010年10月8日 13:17

请问楼主,我想将推特中文圈绑定,有什么办法吗?建议去和微博通协商下,让他们支持你的推特中文圈,那样我就笑死了。谢谢

2011年10月4日 20:09

[…] 暑假完成了推特中文圈,放在GAE上,大家的反响挺好,呼吁开源的人也很多,但我一直没开源,这里写了我开源的顾虑。 […]