推特中文圈

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年8月16日 21:45

支持!不过我是Python开发GAE的。。

2009年8月16日 21:48

沙发再看

2009年8月16日 21:48

是啊,被封了就完了,大多数用户还是会选择不翻墙能直接上的
google app能自定义绑定域名吗?

2009年8月16日 21:54

希望能有一个列表,可以按城市查看推友!

2009年8月16日 21:54

@陈华 可以绑定域名~但我还没去试~

2009年8月16日 21:55

@Epile 刚开始做的时候就想有这个功能 但twitter上的用户location栏没有多少人写,写的格式也乱,所以还实现不了~

2009年8月16日 22:08

好样的

颜色再饭否一点吧

蓝一点比较好看

2009年8月16日 22:21

希望能让消息与记载发布时间的“通过 web 1分钟前”在行首对齐,我是指在浏览“http://twitese.appspot.com/info?id=”的情况下。我爱你,做的太棒了,真希望不要被墙。

2009年8月16日 22:25

@别被墙 已修改~细心的网友真多~

2009年8月16日 22:27

共享程序才王道啊!!

2009年8月16日 22:38

主页左上角的个人信息那里,用户名有2个一样的,重复了

2009年8月16日 22:40

@izdl 一个是用户名 一个是屏显名~

2009年8月16日 22:40

@Cat. 还不是开源的时候~

2009年8月16日 22:43

@bang 可以完善一下吧?

比如以工具提示的形式

2009年8月16日 23:09

@izdl 嗯~~很多细节问题要慢慢改善~

2009年8月16日 23:18

“好友”和“关注者”数字不对啊?

2009年8月16日 23:24

@白洋 重新抓取到数据或者用户重新登录后才会刷新三项统计数据

2009年8月16日 23:25

很饭否,很爽,很适合有饭否情节的微博用户
在twitter上帮你推了一把,希望能让更多不喜欢翻墙的人重新用上twitter,致敬!

2009年8月16日 23:30

我说你啊,你要搞twitter就自己搞个主机搞搞,不要扯上GAE啊,这个东西导致GAE,这样国内很多人做的应用都没法访问了,你能不能用脑袋想想问题?就我一个人在上面就有5个应用,被你这样一搞,我们都去吃西北风?

2009年8月16日 23:39

@xxx 一个小应用怎么会殃及整个GAE 到时ZF真要封 谷歌把我的应用给禁了就完事了

2009年8月17日 0:41

支持楼主,希望手机页面早日完善!

2009年8月17日 0:51

上海浦东ADSL不能直接访问,开Tor后可以

2009年8月17日 2:28

问下是用java还是python写的?

2009年8月17日 5:18

哈哈哈哈哈哈哈哈哈~我发现我的头像在例图上呢~~~~~~~~~~~~~~~

2009年8月17日 6:47

太帅了,开放源代码不?

2009年8月17日 8:32

能否共享一下源代码?

2009年8月17日 9:05

是挺不错的,不能老用老外开发的第三方是吧,其实我也有打算研究它的api的~

2009年8月17日 9:11

@Black-Xstar JAVA写的
@Showfom @嘉佑 暂不开源 适当时候再说

2009年8月17日 9:12

貌似已经被墙了

2009年8月17日 9:18

—-已经无法访问(不带tor的话),难道这么快就被临幸!

2009年8月17日 13:34

等待开源…..话说会开源吗?

2009年8月17日 16:13

好厉害的同学呀
网通直接可以连上,无须代理

2009年8月17日 17:14

谢谢牛人的分享,最后一句特雷~~~呵呵呵,汗啊

2009年8月18日 13:16

貌似已经被封了,但仍然欣赏你的付出。做这样一个网站,被封的速度越快,证明你越成功:)

2009年8月18日 14:44

帮你在豆瓣上宣传了
话说还可以用,没有被封
加油

2009年8月19日 10:18

新版的 Eclipse 3.5 流畅多了,可以实施,不过还是不用 IDE 快
其实为什么非弄在GAE上面呢

2009年8月20日 11:35

太喜欢这个东西了,CSS写的很工整!超级喜欢你开发的这个twitter APP!

2009年8月20日 17:29

可惜的是推特中文圈也只能翻墙才能访问。

2009年8月26日 13:21

如何才能注册???急。
谢谢

2009年8月26日 14:17

@如何注册 注册得翻墙上twitter.com才行 别无他法

2009年8月29日 15:13

很不错 谢谢你的作品

2009年9月2日 14:12

好像又解封了 恭喜

2009年9月11日 11:16

GAE。。。um,被wall的可能性是很大的,选择这个服务器不好。。。
另外,这种第三方的应用,用户提交id,密码,这个过程会不会被截获啊?安全吗?
祝好。

2009年9月11日 15:47

很不错的说。

2009年9月12日 15:57

诚心情切的问,我在饭否丢失的万千心情,还有没有备份?

2009年10月13日 17:10

貌似被封了···

2009年10月13日 17:12

这一天还是来了···

2009年10月14日 0:15

封了。。郁闷死。

2009年10月14日 14:20

原来是你的作品呀,用了2个月吧,从昨天下午开始发现被墙了。
多谢。

GFW让我们必须提高自己的网络水平。

2009年10月15日 17:40

被墙了 大哥挪窝吧 等着你!

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上,大家的反响挺好,呼吁开源的人也很多,但我一直没开源,这里写了我开源的顾虑。 […]