1。(文件]DakeleSign。py ~ 4 kb
# !/usr/bin/env python # - * -编码:utf - 8 - * __author__=绑克凇? “‘ dakele bbs sigin “‘ 导入系统 进口urllib2 进口urllib 进口的要求 进口cookielib 进口json 从pyquery进口pyquery pq 导入日志 logging.basicConfig(水平=logging.DEBUG) 重载(系统) sys.setdefaultencoding (“utf8 ") 类Dakele(对象): def __init__(自我、名称、密码): self.name=名字 自我。密码=密码 自我。cj=cookielib.LWPCookieJar () 自我。刀=urllib2.build_opener (urllib2.HTTPCookieProcessor (self.cj)) urllib2.install_opener (self.opener) def _getHeaders(自我): 头={} 标题(“用户代理”)=' Mozilla/5.0 (Windows NT 6.1;AppleWebKit WOW64)/537.36 (KHTML,像壁虎)Chrome/39.0.2171.95 Safari/537.36” # header['主机']=' www.dakele.com ' 头['连接']=拔? 头[' cache - control ']=靶畔?0” 标题(“接收语言”)='应用,zh型;q=0.8, en; q=0.6, zh-TW; q=0.4 ' # header(“接受编码”)=' gzip、缩小sdch” 标题(“接受”)=' text/html、application/xhtml + xml应用程序/xml; q=0.9,图像/webp */*; q=0.8 ' 返回头 def登录(自我): “登录网站” logging.debug (u”正在登陆用户名:密码:% s % s的% (self.name self.password)) logging.debug (u 'headers是:% s ' % self._getHeaders ()) loginparams={“产品”:“论坛”、“surl”: r 'http://bbs.dakele.com/',“用户名”:self.name,“密码”:self.password, '记住':' 0 '} logging.debug (u 'loginparams是:% s % loginparams) 要求=urllib2。请求(r 'http://passport.dakele.com/logon.do' urllib.urlencode (loginparams),标题=self._getHeaders ()) 响应=urllib2.urlopen(要求) 自我。操作=self.opener.open(要求) thePage=response.read () 结果=json.loads (thePage) 返回结果(“定向”) def login_bbs(自我、url): “登录论坛网站” logging.debug('开始论坛登录:% s ' % url) 要求=urllib2.Request (url,头=self._getHeaders ()) 响应=urllib2.urlopen(要求) 自我。操作=self.opener.open(要求) thePage=response.read () #打印thePage def _say(自我、html): d=pq (html) s_action=d (“# qiandao”) .attr(“行动”) 如果s_action: s_formhash=d (“# qiandao输入[name=formhash]”) .attr(“价值”) s_qdxq=d (“# qiandao输入[name=qdxq]”) .attr(“价值”) s_qdmode=' 1 ' loginparams={formhash: s_formhash,“qdxq”: s_qdxq,“qdmode”: s_qdmode,“todaysay”: u”可乐社区是我的家,我们大家都爱Ta…”} 要求=urllib2。请求(r 'http://bbs.dakele.com/' + s_action urllib.urlencode (loginparams),标题=self._getHeaders ()) 响应=urllib2.urlopen(要求) 自我。操作=self.opener.open(要求) thePage=response.read () 其他: logging.debug (u的今天已经签到过……) def(自我,url): logging.debug('开始bbs签名:% s ' % url) 要求=urllib2.Request (url,头=self._getHeaders ()) 响应=urllib2.urlopen(要求) 自我。操作=self.opener.open(要求) thePage=response.read () self._say (thePage) if __name__==癬_main__”: userlogin=Dakele(“用户名”,“密码”) bbs_loginurl=userlogin.login () userlogin.login_bbs (bbs_loginurl) userlogin.sign (“http://bbs.dakele.com/dsu_paulsign-sign.html”);
以上所述实小编给大家介绍的Python实现某论坛自动签到功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留的言,小编会及时回复大家的!