通过GAE把twitter同步到新浪微博

很久没有碰python,已经沦为看得懂不会写了,于是打算练练手,打算把twitter的tweets同步到新浪微博上去,google app engine有个cron jobs的东西,可以定时的执行一些任务,可以用来做这个事情。
同步tweet是通过抓取twitter的user status的rss来抓取个人的推,在twitter的api中可以在http://twitter.com/statuses /user_timeline/xxx.xml后加上"?since_id="可以抓到最新的推,得到的xml文本通过python的 xml.rtree.ElementTree来解析xml,得到信息后就可以向新浪微博发包来发布消息,考虑到新浪微博没有API,只能通过HTTP的 POST来发布了。
之前用了urllib2和cookieJar来POST,发现本地得到的cookie和GAE上得到的cookie是不同的,不知道是否GAE对 urllib2有过限制,后网上发现有人已经包装了google api的urlfetch,可以保存cookie,于是在header里加了一个Referer就可以POST了。
脚本下载:点我
使用方法:
1,修改Twitter2Sina?脚本 的最后一行,填入twitter账号,新浪微博账号和新浪微博的密码。
2,修改cron.yaml修改cron job执行频率,默认使用1分钟一次。
3,修改app.yaml填入应用的id
上传到GAE即可

posted on 2010-02-28 15:27  vivy  阅读(729)  评论(0编辑  收藏  举报