python自动登录&签到

from sys import path
path.append(r'./pj') #add modul path

import sign  # as ./pj/sign.py
# sign.py

__author__
= '' #coding:utf-8 import json import urllib from http import cookiejar _uid = "" _pwd = "" class sign(object): _uid = '' _pwd = '' #login url indexurl = 'http://passport.cnblogs.com/user/signin' #get/post url loginurl = 'http://passport.cnblogs.com/user/signin' #auto click url signurl = 'http://passport.cnblogs.com/user/signin' def __init__(self,_uid,_pwd): self._uid = _uid self._pwd = _pwd def login(self): cj = cookiejar opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj)) urllib.request.install_opener(opener) print("open login page") try: urllib.request.urlopen(self.indexurl) post_data = {'input1':self._uid,'input2':self._pwd,'isajax':'yes'} req=urllib.request.Request(self.loginurl,urllib.urlencode(post_data)) except: print("get/post error") return False print("login success !") response = urllib.request.urlopen(req) login=response.read() return login def sign(self): response = urllib.request.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("sign in success !") k = l['increase']*1 m = l['rewardsize'] * 1 if (k == 0 and l['monthtask'].M900 == 900): print("1") else: print("2:%s" % (k)) if m == 0: print("3") else: print("4%s" % (m)) else: if (l['state'] == -102): print("5") else: print("6") return sign if __init__ == "__main__": sign = sign(_uid,_pwd) if sign.login(): sign.sign()

 

posted @ 2016-06-05 22:01  czlblog  阅读(487)  评论(0)    收藏  举报