python实现的登陆Discuz!论坛通用代码分享


Posted in Python onJuly 11, 2014

代码如下:

#coding:gbk
import 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.php?mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=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.php?mod=logging&action=login&loginsubmit=yes&handlekey=login&loginhash=LCaB3&inajax=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.3water.com/
try:
  flag = login_dz(username=user,password=pwd,domain=dom)
  print(flag)
except Exception,e:
  print('Error:',e)
Python 相关文章推荐
python读写ini配置文件方法实例分析
Jun 30 Python
python获取list下标及其值的简单方法
Sep 12 Python
Python中使用支持向量机SVM实践
Dec 27 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
Feb 24 Python
使用python读取txt文件的内容,并删除重复的行数方法
Apr 18 Python
python多进程使用及线程池的使用方法代码详解
Oct 24 Python
python找出完数的方法
Nov 12 Python
python实现上传文件到linux指定目录的方法
Jan 03 Python
python Canny边缘检测算法的实现
Apr 24 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
Sep 01 Python
python中@property的作用和getter setter的解释
Dec 22 Python
OpenCV-Python实现人脸磨皮算法
Jun 07 Python
Python Socket编程入门教程
Jul 11 #Python
python使用正则搜索字符串或文件中的浮点数代码实例
Jul 11 #Python
Python实现的二维码生成小软件
Jul 11 #Python
让python同时兼容python2和python3的8个技巧分享
Jul 11 #Python
Python操作SQLite简明教程
Jul 10 #Python
Python读取图片EXIF信息类库介绍和使用实例
Jul 10 #Python
Python采集腾讯新闻实例
Jul 10 #Python
You might like
PHP初学者最感迷茫的问题小结
2010/03/27 PHP
深入file_get_contents与curl函数的详解
2013/06/25 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
php检测useragent版本示例
2014/03/24 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
js实现的点击div区域外隐藏div区域
2014/06/30 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
2017/04/10 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
Python入门篇之数字
2014/10/20 Python
Python中的高级数据结构详解
2015/03/27 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
linux安装Python3.4.2的操作方法
2018/09/28 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
python开发游戏的前期准备
2019/05/05 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2019/08/06 Python
关于python scrapy中添加cookie踩坑记录
2020/11/17 Python
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
总经理职责范文
2013/11/08 职场文书
计算机求职信
2013/12/01 职场文书
幼儿园六一儿童节文艺汇演主持词
2014/03/21 职场文书
小学生保护环境倡议书
2014/05/15 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
十八大演讲稿
2014/05/22 职场文书