浅析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 相关文章推荐
在树莓派2或树莓派B+上安装Python和OpenCV的教程
Mar 30 Python
在Django中进行用户注册和邮箱验证的方法
May 09 Python
Python中规范定义命名空间的一些建议
Jun 04 Python
利用python模拟sql语句对员工表格进行增删改查
Jul 05 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 Python
python爬取哈尔滨天气信息
Jul 14 Python
python实现简单日期工具类
Apr 24 Python
详解Python 字符串相似性的几种度量方法
Aug 29 Python
Python拆分大型CSV文件代码实例
Oct 07 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
Apr 25 Python
Python应用实现处理excel数据过程解析
Jun 19 Python
python爬虫泛滥的解决方法详解
Nov 25 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的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
php+xml编程之xpath的应用实例
2015/01/24 PHP
ThinkPHP控制器详解
2015/07/27 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
PHP中如何使用Redis接管文件存储Session详解
2018/11/28 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
javascript+html5实现仿flash滚动播放图片的方法
2015/04/27 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
JS实现的tab切换选项卡效果示例
2017/02/28 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
使用 Javascript 实现浏览器推送提醒功能的示例
2017/11/03 Javascript
Canvas实现微信红包照片效果
2018/08/21 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
Python3实现的简单验证码识别功能示例
2018/05/02 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
python 默认参数相关知识详解
2019/09/18 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
银行学习十八大感想
2014/01/11 职场文书
新学期班主任寄语
2014/01/18 职场文书
《悯农》教学反思
2014/04/28 职场文书
求职信内容怎么写
2014/05/26 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
2015年护士医德医风自我评价
2015/03/03 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
消防演习通知
2015/04/25 职场文书
迎新晚会主持词开场白
2015/05/28 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL