用Google App Engine获取KIDSFC的红包信息
2009 2 3 01:33 AM 2868次查看
分类:Google App Engine 标签:Google App Engine, Python
演示在这里,好像不能预览,直接右键开新窗口吧: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。
向下滚动可载入更多评论,或者点这里禁止自动加载。