卡饭论坛茶舍抢沙发第2版,茶舍沙发,[Python]代码#-
卡饭论坛茶舍抢沙发第2版,茶舍沙发,[Python]代码#-
[Python]代码
#-*-coding:utf-8-*-from time import clock as nowfrom BeautifulSoup import *from xml.dom.minidom import parse, parseStringfrom Queue import Queueimport cookielib, urllib2,urllibimport os,sys,re,time,threading,getpassimport webbrowser#此list,记录回复数为0的,间隔时间到,从这找一下,有的话就不再次打开帖子了postList=[]#登陆和登陆提交kf_loginSubmitUrl='http://bbs.kafan.cn/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yess'class Discuz: def __init__(self,uid,pwd,**param): self.username = uid self.password = pwd self.para = param self.regex = { 'loginreg':'<input\s*type="hidden"\s*name="formhash"\s*value="([\w\W]+?)"\s*\/>', 'postreg':'<input\s*type="hidden"\s*name="formhash"\s*id="formhash"\s*value="([\w\W]+?)"\s*\/>' } self.opener = None self.request = None self.islogin = False self.__login() def __login(self): print 'start login......' #proxy = '127.0.0.1:5865' cookiejar = cookielib.CookieJar() #无代理就用下面的 #self.opener = urlli2.build_opener(urllib2.ProxyHandler({'http':proxy}) ,urllib2.HTTPCookieProcessor(cookiejar)) self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar)) values = {'username':self.username,'password':self.password,'quickforward':'yes','handlekey':'ls'} data = urllib.urlencode(values) self.request = urllib2.Request(self.para['loginsubmiturl'], data) rq = self.opener.open(self.request) data=rq.read() if '欢迎您回来' in data: print 'login success......' self.islogin = True else: print "login failed" def LoadNew(self): self.request = urllib2.Request('http://bbs.kafan.cn/forum-4-1.html') rq = self.opener.open(self.request) data = rq.read() #正常非固顶主题 for i in re.finditer(r'<tbody id="normalthread_.+?</tbody>' ,data,re.S ): content=i.group() #帖子id postId=content[24:31] #回复数 for j in re.finditer(r'class="xi2">.+?</a>' ,content,re.S ): replyNum=j.group()[12:-4] replyNum=int(replyNum) #标题 for j in re.finditer(r'class="xst" >.+?</a>' ,content,re.S ): title= j.group()[13:-4] #回复人 replyId=re.compile(r' c="1">.+?</a>').search(content).group()[7:-4] if postList.count(postId)==0 and replyNum==0 and replyId!="zhangthe9": print title postList.append(postId) url="http://bbs.kafan.cn/thread-"+postId+"-1-1.html" webbrowser.open(url)if __name__=='__main__': name = "zhangthe9" password =getpass.getpass() dz = Discuz(name,password, loginsubmiturl=kf_loginSubmitUrl, sleep='1' ) while True: dz.LoadNew() time.sleep(3)
相关内容
- 用正则表达式过滤掉文件中的指定邮箱地址,正则表达
- 数据字典 查询电话号码或地址,字典电话号码,查找电
- 一段有关于二次函数的代码,一段二次函数代码,1.pyc
- python模仿matlab的tic/toc计时,tictoc,[Python]代码im
- Python程序计时,python计时,Python程序计时im
- python列举一万年内的对称日,python列举一万年,[Python]代
- 列表生成,,列表生成,enumera
- 解析ip数据库纯真版,ip数据库纯真版,QQWry.py#!/u
- 计算单词的对应26个字母的数字之和,单词26数字之和
- python3.2加密解密迅雷快车旋风地址,python3.2加密解密
评论关闭