遵从我一个假期一个作品的习惯,这个暑假的作品完成了:推特中文圈 - Twitese http://twitese.appspot.com/
介绍
推客中文圈Twitese旨在帮助中国twitter使用者寻找国内优秀twitter用户,同时让大陆用户无需翻墙即可更新状态和浏览好友消息,通过抓取twitter上的中文用户形成”排行榜“以及“随便看看”,让用户有一个类似饭否的界面和功能使用twitter。
原理
twitter 一两个月前开始被和谐,估计以后是不会再恢复了,于是出现了很多翻墙或不翻墙使用twitter的方法。其原理是通过API把获取和发送twitter信息的程序放在国外服务器上,国外的服务器访问twitter没有限制,而国外的这台服务器没有被和谐,所以国内也是可以访问的,等于把这台服务器作为国内用户与twitter连接的中介。这就是twitter不可能被完全封杀的原因,每一台外国服务器都可以把你连接到twitter上。推特中文圈也是这个原理。
功能
此网站搭建在Google AppEngine上,也就是外国服务器。分两部分功能:
功能一:实现使用twitter的所有功能,发推,加好友,看消息。
实际上就是给twitter加个外壳和中介,跟itweet等网站一样。界面模仿饭否,所有用词都遵从饭否,缅怀饭否,同时也是符合国人使用微博客的习惯。
功能二:不断抓取twitter上所有中文用户,形成“随便看看”和“排行榜”
通过Google AppEngine的Cron功能,每隔一定的时间抓取某一用户的好友存进数据库,存之前判断是否为使用中文的用户。只要从任意一个好友数非零的用户开始抓取,循环下去,就差不多能抓取到所有twitter上的中文用户。对已抓取的则只更新最新消息,这样就形成了“随便看看”
困难
做的过程碰到的问题和困难不少,列举主要的:
- Google AppEngine的数据库很差,十分差,如下:
- 数据库建立后不能增加新栏不能减少栏,必须删除重建才可以。
- Key不能以数字开头,导致我每一个Key前都要增加一个字母。
- 查询语句没有like也就算了,连or都没有,服了~导致制作排行榜的标签功能变得困难。
- 一次最多只能查询到1000条数据。导致我不知道我已经抓取了多少条数据,排行榜上能显示的也就1000个用户。
- twitter停止source的申请,新应用只有通过OAuth验证才能有“from [myApp]”的字眼,OAuth验证需要经过twitter网站,这对于大陆用户实在不是什么好东西,没有了source,对于宣传和统计很不利。
- 本地测试十分慢,是因为本地读取twitter的API十分慢,有时全部传上去在网站上看效果反倒快了,另外Google AppEngine的上传很不方便,就算我只改某一个静态js文件的一个标点,都要整站上传,Eclipse插件也没有提供只更新cron的功能,麻烦。
- Eclipse一天无响应十几次-_-! 这不知道是什么原因
过程
暑假刚回来那阵子在想要做什么东西好,起初准备用javascript做一个AIR程序,jquery专用编辑器,后来发现AIR里的WebKit竟然不支持撤销功能,后来再发现Aptana写jquery也有提示的,更没必要做了,作罢。
后来接触下Google AppEngine,发现Cron Job,我在寒假做秘饭里饭否统计的时候就很希望有这么一个功能:每间隔一段时间执行一次程序,因为对web程序来说一个程序不能运行太久,抓取数据一次只能抓一点,所以要能自动间隔时间执行程序就能实现连续抓取。Cron Job正合我意~起初只想抓取所有twitter中文用户把排行榜和随便看看做出来就是了,后来觉得索性做全套,把用twitter需要的功能都加上了。
做的过程还是跟做Q版海底俄罗斯时一样疯狂,可能更疯狂些,我做东西似乎都急着要把它做完,这次做的速度也算挺快的了,5号开始到14号完成,期间还有一天回碣石没做。做的过程中觉得乱,但做完后觉得结构还可以不是很乱,该分出来的分出来了,还算清晰~接下来还要慢慢完善,还有许多功能可以做。
前天晚上放上去后发了一推,很快被传播,twitter的传播速度比想象中要快,那晚忙死了,都在回复和修复大小bug~看到挺多正面评价挺开心的,呵~辛苦没白费~
最后
祈祷别被封~
沙发再看
是啊,被封了就完了,大多数用户还是会选择不翻墙能直接上的
google app能自定义绑定域名吗?
希望能有一个列表,可以按城市查看推友!
@陈华 可以绑定域名~但我还没去试~
@Epile 刚开始做的时候就想有这个功能 但twitter上的用户location栏没有多少人写,写的格式也乱,所以还实现不了~
好样的
颜色再饭否一点吧
蓝一点比较好看
鱼
希望能让消息与记载发布时间的“通过 web 1分钟前”在行首对齐,我是指在浏览“http://twitese.appspot.com/info?id=”的情况下。我爱你,做的太棒了,真希望不要被墙。
@别被墙 已修改~细心的网友真多~
共享程序才王道啊!!
主页左上角的个人信息那里,用户名有2个一样的,重复了
鱼
@izdl 一个是用户名 一个是屏显名~
@Cat. 还不是开源的时候~
@bang 可以完善一下吧?
比如以工具提示的形式
鱼
@izdl 嗯~~很多细节问题要慢慢改善~
“好友”和“关注者”数字不对啊?
@白洋 重新抓取到数据或者用户重新登录后才会刷新三项统计数据
很饭否,很爽,很适合有饭否情节的微博用户
在twitter上帮你推了一把,希望能让更多不喜欢翻墙的人重新用上twitter,致敬!
我说你啊,你要搞twitter就自己搞个主机搞搞,不要扯上GAE啊,这个东西导致GAE,这样国内很多人做的应用都没法访问了,你能不能用脑袋想想问题?就我一个人在上面就有5个应用,被你这样一搞,我们都去吃西北风?
@xxx 一个小应用怎么会殃及整个GAE 到时ZF真要封 谷歌把我的应用给禁了就完事了
支持楼主,希望手机页面早日完善!
上海浦东ADSL不能直接访问,开Tor后可以
问下是用java还是python写的?
哈哈哈哈哈哈哈哈哈~我发现我的头像在例图上呢~~~~~~~~~~~~~~~
太帅了,开放源代码不?
能否共享一下源代码?
是挺不错的,不能老用老外开发的第三方是吧,其实我也有打算研究它的api的~
@Black-Xstar JAVA写的
@Showfom @嘉佑 暂不开源 适当时候再说
貌似已经被墙了
—-已经无法访问(不带tor的话),难道这么快就被临幸!
等待开源…..话说会开源吗?
好厉害的同学呀
网通直接可以连上,无须代理
谢谢牛人的分享,最后一句特雷~~~呵呵呵,汗啊
貌似已经被封了,但仍然欣赏你的付出。做这样一个网站,被封的速度越快,证明你越成功:)
帮你在豆瓣上宣传了
话说还可以用,没有被封
加油
新版的 Eclipse 3.5 流畅多了,可以实施,不过还是不用 IDE 快
其实为什么非弄在GAE上面呢
太喜欢这个东西了,CSS写的很工整!超级喜欢你开发的这个twitter APP!
可惜的是推特中文圈也只能翻墙才能访问。
如何才能注册???急。
谢谢
@如何注册 注册得翻墙上twitter.com才行 别无他法
很不错 谢谢你的作品
好像又解封了 恭喜
GAE。。。um,被wall的可能性是很大的,选择这个服务器不好。。。
另外,这种第三方的应用,用户提交id,密码,这个过程会不会被截获啊?安全吗?
祝好。
很不错的说。
诚心情切的问,我在饭否丢失的万千心情,还有没有备份?
貌似被封了···
这一天还是来了···
封了。。郁闷死。
原来是你的作品呀,用了2个月吧,从昨天下午开始发现被墙了。
多谢。
GFW让我们必须提高自己的网络水平。
被墙了 大哥挪窝吧 等着你!
[...] 暑假完成了推特中文圈,放在GAE上,大家的反响挺好,呼吁开源的人也很多,但我一直没开源,这里写了我开源的顾虑。 [...]
源码哪里下载
支持lz
不开放源码可以写篇教程
我看你好像没时间打理这个作品。。。
有些问题
发了实际没发上,随便看看每次都一样
sorry 有问题的是http://s60jj.com/twitter/index.php
你那个已经打不开了
那个好像就是用的你的
1小时前,貌似被封了
- 开源 php版twitese (111)
- 推特中文圈 (55)
- 空间被封过程 (33)
- 关于 (26)
- 我心目中的毛泽东 (24)

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