用Python自动登录街旁并完成签到
之前街旁连续登录签到130多天,结果由于有一天比较忙忘记登录签到导致连续加分的内容没有了,今天稍微花了一点时间用Python实现自动登录并签到,准备挂在服务器上每天cron一下,丷丷
02 | import urllib2,cookielib,os,sys,urllib |
04 | class AutoloadingLogin(): |
05 | def __init__ (self,codeurl,userdata,loginurl,validatename,codesavepath,posturl,postdata): |
06 | self.codeurl = codeurl |
07 | self.userdata = userdata |
08 | self.loginurl = loginurl |
09 | self.validatename = validatename |
11 | self.codesavepath = codesavepath |
12 | self.postdata=postdata |
15 | def savecode (self,content,imagetype): |
16 | t = imagetype.split( "/" ) |
17 | h = open(( "%svalidate.%s" %(self.codesavepath,t[1])), "wb" ) |
21 | def request (self,url,cj=None,data=None): |
22 | request=urllib2.Request(url) |
24 | self.opener=urllib2.build_opener(cj) |
26 | c = self.opener.open(request,urllib.urlencode(data)) |
28 | c = self.opener.open(request) |
32 | cookie=cookielib.CookieJar() |
33 | cj=urllib2.HTTPCookieProcessor(cookie) |
34 | if self.validatename != '' : |
35 | c = self.request(self.codeurl,cj) |
36 | imagetype = c.headers.get( 'Content-Type' ) |
37 | self.savecode (c.read(),imagetype) |
40 | self.userdata[self.validatename] = imgcode |
43 | c = self.request(self.loginurl,cj,self.userdata) |
47 | c = self.request(self.posturl,None,self.postdata) |
48 | #print c.read().decode( "utf-8" ) |
54 | userdata = { 'pwd' : 'justyourpasswd' , 'user' : 'Holmesian@qq.com' , 'sumbit' : '登录' } |
58 | loginurl = 'http://jiepang.com/m/login' |
62 | posturl = 'http://jiepang.com/m/checkin?sid=4e0d3d1e089hwt9ejouy' |
63 | postdata = { 'douban' : 'on' , 'fanfou' : 'on' , 'id' : '0B5F8533A77CC23CC7B953DD11A8D30A' , 'kaixin001' : 'on' , 'qq' : 'on' , 'renren' : 'on' , 'sina' : 'on' , 'status' : '' } |
64 | a = AutoloadingLogin(validatecodeurl,userdata,loginurl,validatename,codesavepath,posturl,postdata) |
68 | if __name__ == '__main__' : |