下面分享一个使用Python进行网站模拟登陆的小例子。

原理

使用Cookie技术,绕开网站登录验证。要使用到cookielib库。流程:

创建一个保存Cookie的容器,可选的有CookieJar,FileCookieJar,MozillaCookieJar,LWPCookieJar.其相互之间的关系是CookieJar —-派生—->FileCookieJar —-派生—–>MozillaCookieJar和LWPCookieJar.

然后创建一个处理Cookie的处理器handler.通过urllib2.HTTPCookieProcessor(cookie)即可

创建一个用于开启网站的opener。即可。这个opener相比于urllib2.urlopen方法更为普通一点而已。opener = urllib2.build_opener(handler)。

然后我们就可以正常的使用opener来访问网络了。

小案例

实现的功能是模拟登录到大连理工大学的教务网站。代码如下:

# coding:UTF-8

import urllib,urllib2,cookielib

filename = r'F:\pachong\gaoqing\dlutcookie.txt'

# show cookie and save to local

cookie = cookielib.MozillaCookieJar()

handler = urllib2.HTTPCookieProcessor(cookie)

opener = urllib2.build_opener(handler)

# 记得使用urllib模块进行参数的encode

postdata = urllib.urlencode({

# 哈哈,本宫不给你们我的账号╭(╯^╰)╮

'zjh':'xxxxxxxxx',

'mm':'XXXXXX'

})

# 登陆到教务系统的url

url = 'http://zhjw.dlut.edu.cn/loginAction.do'

# 开始进行模拟登陆,并把cookie保存到变量

response = opener.open(url,postdata)

cookie.save(filename,ignore_discard=True,ignore_expires=True)

# 打印一下获得的cookie信息吧

for item in cookie:

item.name + ' = ' + item.value

# 利用cookie访问另一个网址 登陆到个人成绩的URL

course_url='http://zhjw.dlut.edu.cn/xkAction.do?actionType=6'

course_header={

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586',

'referer':'http://zhjw.dlut.edu.cn/menu/s_main.jsp'

}

result = opener.open(course_url)

print result.read()

运行结果

总结

其实对于模拟登陆而言,第一次的登陆就是为了获取那个cookie数据。然后通过我们创建的opener来完成接下来我们要进行的关键的进一步的操作。我们需要理解的就只是那个cookie的使用的流程就行了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python模拟全部代码_Python模拟登陆实现代码相关推荐

  1. python的模拟登录原理_Python模拟登陆实例详解

    本篇文章主要介绍了Python模拟登陆实现代码,这里整理了详细的代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 下面分享一个使用Python进行网站模拟登陆的小例子. 原理 使用Cookie技 ...

  2. python比较数据工具_Python模拟数据工具哪些比较好用

    今天给大家推荐两款基本的Python模拟数据工具:mock和pytest monkeypatch. 为什么要模拟数据? 我们的应用中有一些部分需要依赖外部的库或对象.为了隔离开这部分,我们需要代替这些 ...

  3. python去掉两边空格_Python模拟删除字符串两边的空白

    目标: 1.使用string模块的whitespace 2.删除左边.右边以及两边的空白 代码如下: [root@localhost python]# cat rmspace.py #!/usr/bi ...

  4. python雷达图数据_PYTHON绘制雷达图代码实例

    这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.雷达图 import matplotlib.py ...

  5. python连接redis哨兵_Python redis.sentinel方法代码示例

    本文整理汇总了Python中redis.sentinel方法的典型用法代码示例.如果您正苦于以下问题:Python redis.sentinel方法的具体用法?Python redis.sentine ...

  6. python程序异常实例_Python werkzeug.exceptions方法代码示例

    本文整理汇总了Python中werkzeug.exceptions方法的典型用法代码示例.如果您正苦于以下问题:Python werkzeug.exceptions方法的具体用法?Python wer ...

  7. python列表get方法_Python json.get方法代码示例

    本文整理汇总了Python中json.get方法的典型用法代码示例.如果您正苦于以下问题:Python json.get方法的具体用法?Python json.get怎么用?Python json.g ...

  8. python modifysetup什么意思_Python pyinotify.IN_MODIFY属性代码示例

    本文整理汇总了Python中pyinotify.IN_MODIFY属性的典型用法代码示例.如果您正苦于以下问题:Python pyinotify.IN_MODIFY属性的具体用法?Python pyi ...

  9. python re 简单实例_Python re.search方法代码示例

    本文整理汇总了Python中re.search方法的典型用法代码示例.如果您正苦于以下问题:Python re.search方法的具体用法?Python re.search怎么用?Python re. ...

  10. python中config命令_Python config.config方法代码示例

    本文整理汇总了Python中config.config方法的典型用法代码示例.如果您正苦于以下问题:Python config.config方法的具体用法?Python config.config怎么 ...

最新文章

  1. 开机后台运行jupyter_手机重启=关机再开机?原来差别竟这么大,很多人都不知道!...
  2. Python-jsonpath使用和json转换
  3. Mysql UTF8 varchar与Oracle ZHS16GBK varchar2同长度下存汉字的差异
  4. SAP Cloud for Customer(C4C)里如何定义跨BO间的association
  5. 《SAS编程与数据挖掘商业案例》学习笔记之十五
  6. 2.图像作为函数 | 标量、函数、混合图像_6
  7. 最近使用mysql遇到的几个问题
  8. sql判断字段不为null_什么是NULL值
  9. sublime text 前端开发插件安装和配置
  10. 编译原理(王生源第三版)第一章学习笔记(含第一章习题)
  11. 1 10000以内的质数表C语言,110000质数表
  12. 移动硬盘显示拒绝访问文件怎样找到
  13. Kaggle—共享单车数据分析
  14. 基于草图的图像检索的文献综述
  15. ECharts中使用tooltip时鼠标移入抖动问题
  16. 基于nodejs+vue社区互助平台- vscode项目
  17. [LQR简要快速入门]+[一级倒立摆的LQR控制]
  18. correl函数_教你利用Correl函数返回相关系数并确定属性关系
  19. Java 前端传后台出现405,415错误的解决方法
  20. 华为实验24-vRRP基本配置

热门文章

  1. 转型不该只是一句空话 还应该有更多实质
  2. js中常用的对象—String的属性和方法
  3. sonatype nexus仓库介绍
  4. PyQt主窗体设置停靠窗口(QDockWidget)的叠加顺序
  5. 【转】Java中获取文件大小的正确方法
  6. linux服务之rsync
  7. VMware虚拟机三种联网方法及原理
  8. 在Linux上安装QT4
  9. 3w字带你揭开WebSocket的神秘面纱~
  10. 某阿里程序员爆料自己的p9领导:每天炒股喝茶开会!羡慕嫉妒恨!以后要当领导!网友:不在其位,不知其累!...