浅析Python3爬虫登录模拟


Posted in Python onFebruary 07, 2018

使用Python爬虫登录系统之后,能够实现的操作就多了很多,下面大致介绍下如何使用Python模拟登录

我们都知道,在前端的加密验证,只要把将加密环境还原出来,便能够很轻易地登录。

首先分析登录的步骤,通过审查元素得知

<input type="button" id="login" name="login" class="login" onclick="Logon();" value="登录">

点击按钮触发Logon()函数,然后查找Logon()函数定义

function Logon() {
}

函数定义内容各有不同,一般里面包含一些加密的操作,一般是使用写好的js加密。我们所需要做的便是重复这些步骤,加密数据。

对于加密,有三种方法:

  1. 如果加密方法是base64之类的,可以直接用Python3的base64库加密;
  2. 手动模仿;
  3. 直接调用js加密,需要先下载PyExecJS,有的电脑需要先安装js的运行环境,比如Node.js。使用方法如下:
newusername = execjs.compile(content).call('base64encode', username)

其中content是js内容,base64encode是方法,username是参数,newusername是加密后的数据。

对于验证码的问题,先介绍下一般的图片验证码,可以请求获取验证码的地址,session之类的数据自己搞定,一般便可以请求成功,可以存到本地手动输入,也可以使用识别的第三方模块,但这个识别效果并不是很好。

然后,便是查看session,cookie。

接下来的操作就是构造请求头headers,这个可以自行去控制台查看或者使用wireshark, fiddler之类的抓包软件查看。

最后便可以请求数据:

使用

s = requests.Session()
s.headers.update(headers)
r = s.post(url, data = params)

或者:

r = requests.get(url, headers = headers, data = params)

headers是你构造的请求头,url是你请求的网站,params是加密的数据。

Python 相关文章推荐
python基于Tkinter库实现简单文本编辑器实例
May 05 Python
Python中pip安装非PyPI官网第三方库的方法
Jun 02 Python
简单总结Python中序列与字典的相同和不同之处
Jan 19 Python
python获取代理IP的实例分享
May 07 Python
Python在图片中插入大量文字并且自动换行
Jan 02 Python
Python基础教程之异常详解
Jan 10 Python
python实现可变变量名方法详解
Jul 01 Python
简单了解python变量的作用域
Jul 30 Python
python+pygame实现坦克大战
Sep 10 Python
python能做什么 python的含义
Oct 12 Python
全网首秀之Pycharm十大实用技巧(推荐)
Apr 27 Python
如何Python使用re模块实现okenizer
Apr 30 Python
Python实现的三层BP神经网络算法示例
Feb 07 #Python
Python 12306抢火车票脚本
Feb 07 #Python
django限制匿名用户访问及重定向的方法实例
Feb 07 #Python
Python用 KNN 进行验证码识别的实现方法
Feb 06 #Python
Python实现的径向基(RBF)神经网络示例
Feb 06 #Python
python实现淘宝秒杀聚划算抢购自动提醒源码
Jun 23 #Python
初探TensorFLow从文件读取图片的四种方式
Feb 06 #Python
You might like
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
2015/03/18 Javascript
JS简单实现多级Select联动菜单效果代码
2015/09/06 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
基于JavaScript实现添加到购物车效果附源码下载
2016/08/22 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
微信小程序获取用户openId的实现方法
2017/05/23 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
微信小程序实现跑马灯效果
2020/10/21 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
JavaScript页面加载事件实例讲解
2019/09/01 Javascript
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python写入并获取剪切板内容的实例
2018/05/31 Python
深入浅析Python的类
2018/06/22 Python
django celery redis使用具体实践
2019/04/08 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
2019/09/20 Python
Python Collatz序列实现过程解析
2019/10/12 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
总结python 三种常见的内存泄漏场景
2020/11/20 Python
如何利用Python matplotlib绘制雷达图
2020/12/21 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
澳大利亚设计的婴儿和女孩的衣服:Oobi
2018/12/16 全球购物
酒店保洁主管岗位职责
2013/11/28 职场文书
英文简历中的自荐信范文
2013/12/14 职场文书
小学生打架检讨书
2014/01/26 职场文书
工程资料员岗位职责
2014/03/10 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
2014年统计工作总结
2014/11/21 职场文书
2015年会计工作总结范文
2015/05/26 职场文书
大学升旗仪式主持词
2015/07/04 职场文书
思想品德课教学反思
2016/02/24 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB