Python实现的金山快盘的签到程序


Posted in Python onJanuary 17, 2013
__author__ = 'clownfish'
#coding:utf-8
import urllib2,urllib,cookielib,json
username = "快盘用户名"
password = "快盘密码"
class sign(object):
    username = ''
    password = ''
    #登录显示页面
    indexurl = 'https://www.kuaipan.cn/account_login.htm'
    #登录的form表单url
    loginurl = 'https://www.kuaipan.cn/index.php?ac=account&op=login'
    #签到的真正url
    signurl = 'http://www.kuaipan.cn/index.php?ac=common&op=usersign'
    def __init__(self,username,password):
        self.username = username
        self.password = password
    def login(self):
        cj = cookielib.CookieJar()
        opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
        urllib2.install_opener(opener)
        print "打开登录页面"
        try:
            urllib2.urlopen(self.indexurl)
            post_data = {'username':self.username,'userpwd':self.password,'isajax':'yes'}
            req=urllib2.Request(self.loginurl,urllib.urlencode(post_data))
        except Exception, e:
            print "网络链接错误"
            return False
        print "登录成功,准备签到!"
        response = urllib2.urlopen(req)
        login=response.read()
        return login
    def sign(self):
        response = urllib2.urlopen(self.signurl)
        sign = response.read()
        l = json.loads(sign)
        if (l and l['state'] == 1) or \
        (l and 0 == l['state'] and l['increase'] * 1 == 0 and l['monthtask'].M900 == 900):
            print "恭喜你签到成功!"
            k = l['increase']*1
            m = l['rewardsize'] * 1
            if (k == 0 and l['monthtask'].M900 == 900):
                print "本月签到积分已领取完成"
            else:
                print "签到奖励积分:%s" % (k)
            if m == 0:
                print "手气太不好了!奖励 0M 空间"
            else:
                print "签到奖励空间:%s" % (m)
        else:
            if (l['state'] == -102):
                print "今天您已经签到过了"
            else:
                print "签到失败,遇到网络错误,请稍后再试!"
        return sign

if __name__ == "__main__":
    sign = sign(username,password)
    if sign.login():
        sign.sign()
Python 相关文章推荐
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
Jun 18 Python
python设置检查点简单实现代码
Jul 01 Python
python正则表达式中的括号匹配问题
Dec 14 Python
python基于phantomjs实现导入图片
May 13 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 Python
Python中字典的浅拷贝与深拷贝用法实例分析
Jan 02 Python
Python requests发送post请求的一些疑点
May 20 Python
Python2和Python3之间的str处理方式导致乱码的讲解
Jan 03 Python
pycharm 安装JPype的教程
Aug 08 Python
Python实现获取当前目录下文件名代码详解
Mar 10 Python
python制作抽奖程序代码详解
Jan 15 Python
Python 阶乘详解
Oct 05 Python
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
Jan 17 #Python
Python高效编程技巧
Jan 07 #Python
Python内置函数bin() oct()等实现进制转换
Dec 30 #Python
python的id()函数解密过程
Dec 25 #Python
python cookielib 登录人人网的实现代码
Dec 19 #Python
python 多线程应用介绍
Dec 19 #Python
Python多线程学习资料
Dec 19 #Python
You might like
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
php模板原理讲解
2013/11/13 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
jquery 批量上传图片实现代码
2010/01/28 Javascript
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
form表单只提交数据而不进行页面跳转的解决方案
2013/09/18 Javascript
JavaScript获取两个数组交集的方法
2015/06/09 Javascript
JS清除字符串中重复值的实现方法
2016/08/03 Javascript
jQuery实现的简单拖拽功能示例
2016/09/13 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
详解JS去重及字符串奇数位小写转大写
2016/12/29 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
使用cookie绕过验证码登录的实现代码
2017/10/12 Javascript
node中的session的具体使用
2018/09/14 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
一份超级详细的Vue-cli3.0使用教程【推荐】
2018/11/15 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
2020/04/26 Javascript
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
Python使用multiprocessing创建进程的方法
2015/06/04 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
2015/12/24 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
使用python实现BLAST
2018/02/12 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
Python requests发送post请求的一些疑点
2018/05/20 Python
python mysql断开重连的实现方法
2019/07/26 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
2020/08/05 Python
造价工程师个人求职信
2013/09/21 职场文书
学校门卫工作职责
2013/12/07 职场文书
换届选举主持词
2015/07/03 职场文书
Mysql数据库命令大全
2021/05/26 MySQL