python discuz_python实现的登陆Discuz!论坛通用代码分享
代码如下:
#coding:gbkimport urllib2,urllib,cookielib,re''' 通用的登陆DZ论坛 参数说明parms: username:用户名(必填), password :密码(必填), domain:网站域名,注意格式必须是:http://www.xxx.xx/(必填), answer:问题答案, questionid:问题ID, referer:跳转地址 这里使用了可变关键字参数(相关信息可参考手册)'''def login_dz(**parms): #初始化 parms_key = ['domain','answer','password','questionid','referer','username'] arg = {} for key in parms_key: if key in parms: arg[key] = parms[key] else: arg[key] = '' #cookie设置 cookieFile = './kan_cookies.dat' cookie = cookielib.LWPCookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) #获取formhash pre_login = arg['domain']+'member.phpmod=loggingaction=logininfloat=yeshandlekey=logininajax=1ajaxtarget=fwin_content_login' c = opener.open(pre_login).read() cookie.save(cookieFile) patt = re.compile(r'.*name="formhash".*value="(.*)".*') formhash = patt.search(c) if not formhash: raise Exception('GET formhash Fail!') formhash = formhash.group(1) #登陆 postdata = { 'answer':arg['answer'], 'formhash':formhash, 'password':arg['password'], 'questionid':0 if arg['questionid']=='' else arg['questionid'], 'referer':arg['domain'] if arg['referer']=='' else arg['referer'], 'username':arg['username'], } postdata = urllib.urlencode(postdata) req = urllib2.Request( url= arg['domain']+'member.phpmod=loggingaction=loginloginsubmit=yeshandlekey=loginloginhash=LCaB3inajax=1', data=postdata ) c = opener.open(req).read(300) flag = '登陆失败 %s'%arg['username'] if 'succeedhandle_login' in c: flag = True return flag#使用例子:基本参数登陆user='xxx'pwd='xxx'dom='http://www.discuz.net/' #另一个测试网站:http://bbs.jb51.net/try: flag = login_dz(username=user,password=pwd,domain=dom) print(flag)except Exception,e: print('Error:',e)
python discuz_python实现的登陆Discuz!论坛通用代码分享相关推荐
- python登陆Discuz!论坛通用代码
分享一例python实现的登陆Discuz!论坛通用代码. 代码: #coding:gbk import urllib2,urllib,cookielib,re'''通用的登陆DZ论坛参数说明parm ...
- python discuz_Python爬虫自动下载Discuz论坛附件。
121,278 因工作需要,要定期收集卡饭论坛的病毒样本板块的病毒样本,所以就考虑用 Python做个爬虫,然后自动下载附件. 核心功能有3个: 1· 登录 2· 伪造cookie保持session ...
- python画图代码-Python实战小程序利用matplotlib模块画图代码分享
Python中的数据可视化 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件. 实战小程序: ...
- 用python画图代码-Python实战小程序利用matplotlib模块画图代码分享
Python中的数据可视化 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件. 实战小程序: ...
- python爬虫百度贴吧代码大全_零基础写python爬虫之抓取百度贴吧代码分享
这里就不给大家废话了,直接上代码,代码的解释都在注释里面,看不懂的也别来问我,好好学学基础知识去! # -*- coding: utf-8 -*- #------------------------- ...
- python简易电话簿系统_Python实现电话簿工具(代码分享)
最近学了下python,用python实现了一个电话簿工具,主要实现思路是:通过字典来存储电话簿信息,以姓名作为主键,以联系人对象作为值存储,最后保存的时候通过python标准库提供的cPickile ...
- 【2021-11-07 最新python】 pixabay 图片网站全量爬虫 代码分享
代码 复制即可使用! pixabay 爬取思路,不能正常的使用 requests 爬取,因为他是https2 协议! 正常我们访问的互联网都是 http 1.1 协议 所以要换个思路爬取,使用 htt ...
- python抓取贴吧_零基础写python爬虫之抓取百度贴吧代码分享
这里就不给大家废话了,直接上代码,代码的解释都在注释里面,看不懂的也别来问我,好好学学基础知识去! # -*- coding: utf-8 -*- #------------------------- ...
- discuz论坛的抓取
discuz论坛通用URL地址: URL+?mod=my&q=关键字(关键字的编码gb2312) 例如: 'http://bbs.anzhi.com/search.php?mod=my& ...
最新文章
- Test class should have exactly one public constructor解决办法
- 【前沿干货】2020人脸识别最新进展
- go语言项目优化(经验之谈)
- sap-statistics in SAP UI5 http roundtrip
- 传输设备,光端机的应用及故障分析
- 博弈论探讨及题目总结
- 有故事、有实践,谈一谈深度迁移学习方法的基本思路
- oracle克隆方式安装,克隆Oracle实现快速安装数据库软件
- CentOS中用yum安装Nginx
- 有关Kill Session问题的讨论(旧文初发)
- CSS伪选择器的使用-遁地龙卷风
- JS-JavaScript打开新页面的两种方式:当前页面打开和新页面打开
- 高中信息技术课程标准读后感
- LifecycleOwner com.xx.MainActivity@28b4e79 is attempting to register while current state is RESUMED.
- uniapp移除原生导航栏后页面与手机状态栏重叠问题
- List和Map集合遍历的3种方式
- 二级计算机等级证水平高吗,全国计算机水平一级高还是二级高
- 云计算的认识和看法_个人对云计算的看法 我对云计算的认识
- 【human nature】:马云的故事
- tf.compat.v1的含义
热门文章
- 跨链Cosmos(8)同构跨链交易流程
- 《研磨设计模式》chap10 中介者模式Mediator(1)简介
- 建立新冠病毒群体免疫屏障——数学建模
- SAGE(SAGEMATH)密码学基本使用方法
- MySQL—相关子查询
- Fabric--启动网络自动
- MessageBoxA 和MessageBoxW
- Windows进程与线程学习笔记(七)—— 时间片管理
- 【Vue】 Error with Vue lazy loading components: “Failed to resolve async component“
- SSD 通俗易懂介绍