- [文件] DakeleSign.py ~ 4KB
#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = "poppy"
"""
dakele bbs sigin
"""
import sys
import urllib2
import urllib
import requests
import cookielib
import json
from pyquery import PyQuery as pq
import logging
logging.basicConfig(level=logging.DEBUG)
reload(sys)
sys.setdefaultencoding("utf8")
class Dakele(object):
def __init__(self,name,password):
self.name = name
self.password = password
self.cj = cookielib.LWPCookieJar()
self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))
urllib2.install_opener(self.opener)
def _getHeaders(self):
headers = {}
headers["User-Agent"]="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"
#headers["Host"]="www.dakele.com"
headers["Connection"]="keep-alive"
headers["Cache-Control"]="max-age=0"
headers["Accept-Language"]="zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4"
#headers["Accept-Encoding"]="gzip, deflate, sdch"
headers["Accept"]="text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
return headers
def login(self):
"""登录网站"""
logging.debug(u"正在登陆 username : %s password : %s" %(self.name,self.password))
logging.debug(u"headers is : %s" % self._getHeaders())
loginparams = {"product": "bbs","surl": r"https://bbs.dakele.com/","username": self.name,"password":self.password,"remember":"0"}
logging.debug(u"loginparams is : %s" % loginparams)
req = urllib2.Request( r"https://passport.dakele.com/logon.do", urllib.urlencode(loginparams), headers=self._getHeaders())
response = urllib2.urlopen(req)
self.operate = self.opener.open(req)
thePage = response.read()
result = json.loads(thePage)
return result["redirect"]
def login_bbs(self,url):
"""登录bbs网站"""
logging.debug( "start bbs login : %s " % url)
req = urllib2.Request(url,headers=self._getHeaders())
response = urllib2.urlopen(req)
self.operate = self.opener.open(req)
thePage = response.read()
#print thePage
def _say(self,html):
d = pq(html)
s_action = d("#qiandao").attr("action")
if s_action:
s_formhash = d("#qiandao input[name=formhash]").attr("value")
s_qdxq = d("#qiandao input[name=qdxq]").attr("value")
s_qdmode = "1"
loginparams = {"formhash":s_formhash,"qdxq":s_qdxq,"qdmode": s_qdmode,"todaysay":u"可乐社区是我家,我们大家都爱Ta..."}
req = urllib2.Request( r"https://bbs.dakele.com/"+s_action, urllib.urlencode(loginparams), headers=self._getHeaders())
response = urllib2.urlopen(req)
self.operate = self.opener.open(req)
thePage = response.read()
else:
logging.debug( u"今天已签到过...")
def sign(self,url):
logging.debug( "start bbs sign : %s" % url)
req = urllib2.Request(url,headers=self._getHeaders())
response = urllib2.urlopen(req)
self.operate = self.opener.open(req)
thePage = response.read()
self._say(thePage)
if __name__ == "__main__":
userlogin = Dakele("username","password")
bbs_loginurl = userlogin.login()
userlogin.login_bbs(bbs_loginurl)
userlogin.sign("https://bbs.dakele.com/dsu_paulsign-sign.html");
在学习进程中有甚么不晓得可以加我的
python学习交换扣扣qun,×××
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人材需求及怎样从零基本学习好python,和学习甚么内容
#!/usr/bin/env python