代码如下:

#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!论坛通用代码分享相关推荐

  1. python登陆Discuz!论坛通用代码

    分享一例python实现的登陆Discuz!论坛通用代码. 代码: #coding:gbk import urllib2,urllib,cookielib,re'''通用的登陆DZ论坛参数说明parm ...

  2. python discuz_Python爬虫自动下载Discuz论坛附件。

    121,278 因工作需要,要定期收集卡饭论坛的病毒样本板块的病毒样本,所以就考虑用 Python做个爬虫,然后自动下载附件. 核心功能有3个: 1· 登录 2· 伪造cookie保持session ...

  3. python画图代码-Python实战小程序利用matplotlib模块画图代码分享

    Python中的数据可视化 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件. 实战小程序: ...

  4. 用python画图代码-Python实战小程序利用matplotlib模块画图代码分享

    Python中的数据可视化 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件. 实战小程序: ...

  5. python爬虫百度贴吧代码大全_零基础写python爬虫之抓取百度贴吧代码分享

    这里就不给大家废话了,直接上代码,代码的解释都在注释里面,看不懂的也别来问我,好好学学基础知识去! # -*- coding: utf-8 -*- #------------------------- ...

  6. python简易电话簿系统_Python实现电话簿工具(代码分享)

    最近学了下python,用python实现了一个电话簿工具,主要实现思路是:通过字典来存储电话簿信息,以姓名作为主键,以联系人对象作为值存储,最后保存的时候通过python标准库提供的cPickile ...

  7. 【2021-11-07 最新python】 pixabay 图片网站全量爬虫 代码分享

    代码 复制即可使用! pixabay 爬取思路,不能正常的使用 requests 爬取,因为他是https2 协议! 正常我们访问的互联网都是 http 1.1 协议 所以要换个思路爬取,使用 htt ...

  8. python抓取贴吧_零基础写python爬虫之抓取百度贴吧代码分享

    这里就不给大家废话了,直接上代码,代码的解释都在注释里面,看不懂的也别来问我,好好学学基础知识去! # -*- coding: utf-8 -*- #------------------------- ...

  9. discuz论坛的抓取

    discuz论坛通用URL地址: URL+?mod=my&q=关键字(关键字的编码gb2312) 例如: 'http://bbs.anzhi.com/search.php?mod=my& ...

最新文章

  1. Test class should have exactly one public constructor解决办法
  2. 【前沿干货】2020人脸识别最新进展
  3. go语言项目优化(经验之谈)
  4. sap-statistics in SAP UI5 http roundtrip
  5. 传输设备,光端机的应用及故障分析
  6. 博弈论探讨及题目总结
  7. 有故事、有实践,谈一谈深度迁移学习方法的基本思路
  8. oracle克隆方式安装,克隆Oracle实现快速安装数据库软件
  9. CentOS中用yum安装Nginx
  10. 有关Kill Session问题的讨论(旧文初发)
  11. CSS伪选择器的使用-遁地龙卷风
  12. JS-JavaScript打开新页面的两种方式:当前页面打开和新页面打开
  13. 高中信息技术课程标准读后感
  14. LifecycleOwner com.xx.MainActivity@28b4e79 is attempting to register while current state is RESUMED.
  15. uniapp移除原生导航栏后页面与手机状态栏重叠问题
  16. List和Map集合遍历的3种方式
  17. 二级计算机等级证水平高吗,全国计算机水平一级高还是二级高
  18. 云计算的认识和看法_个人对云计算的看法 我对云计算的认识
  19. 【human nature】:马云的故事
  20. tf.compat.v1的含义

热门文章

  1. 跨链Cosmos(8)同构跨链交易流程
  2. 《研磨设计模式》chap10 中介者模式Mediator(1)简介
  3. 建立新冠病毒群体免疫屏障——数学建模
  4. SAGE(SAGEMATH)密码学基本使用方法
  5. MySQL—相关子查询
  6. Fabric--启动网络自动
  7. MessageBoxA 和MessageBoxW
  8. Windows进程与线程学习笔记(七)—— 时间片管理
  9. 【Vue】 Error with Vue lazy loading components: “Failed to resolve async component“
  10. SSD 通俗易懂介绍