用Google App Engine获取KIDSFC的红包信息

标签:Google App Engine, Python

已经好多天没抢到KFC的红包了,所以写了这样一个玩意。嘛,我承认我是走火入魔了=。=

演示在这里,好像不能预览,直接右键开新窗口吧:http://keakon.appspot.com/h

代码没什么内涵,为了简单,我连webapp都没用…
Google App Engine有个很纠结的编码问题,为了解决这个问题,我花了1个多小时才绕弯搞定了…
写到一半才发现Google App Engine没有计划任务功能,所以只能手动查了,于是发送提示邮件都省了…
嘛,如果Google App Engine不能计划任务的话,应该直接用Python本地实现,当成外挂一直查询就行了…(用sched这个模块即可实现)
嗯,还应该用post实现自动登录和领取红包…话说论坛的打劫也能这样做外挂=。=

放上代码:
#coding: gbk

from google.appengine.api import urlfetch

def main():
    url = 'http://bbs.kidfanschannel.net/discuz/plugin.php?identifier=get_money&module=money&action=money_list&listspec=0&page=1'
    result = urlfetch.fetch(url)
    if result.status_code == 200:
        cont = unicode(result.content, 'gbk')   #不转成unicode就无法用find查找unicode
        i = cont.find(u'每日红包')
        i += cont[i:].find(u'还有')              #“还有”后面那个数字就是红包数目
        print 'Content-Type: text/html'
        if cont[i+2] != '0' :
            print 'refresh: 0;url=%s' % url      #没想到我用html的方式也能实现重定向…
        else:
            print 'refresh: 60\n'
            import time
            print '<center>上次获取时间(每60秒自动获取一次):', \
                time.strftime('%Y-%m-%d %X', time.localtime(time.time())), \
                'GMT(北京时间要加8小时)<br /><br />当前没有红包</center>'
        
if __name__ == "__main__":
    main()
还有单机版,比GAE要强大,不过需要安装Python。

11条评论 你不来一发么↓ 顺序排列 倒序排列

    向下滚动可载入更多评论,或者点这里禁止自动加载

    想说点什么呢?