未加星标

浅析Python3爬虫登录模拟

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二03 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

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

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

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

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

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

function Logon() {
}

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

对于加密,有三种方法:

如果加密方法是base64之类的,可以直接用Python3的base64库加密;
手动模仿;
直接调用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是加密的数据。


您可能感兴趣的文章:python3.0 模拟用户登录,三次错误锁定的实例Python3 适合初学者学习的银行账户登录系统实例python3 模拟登录v2ex实例讲解Python3使用requests登录人人影视网站的方法Python3.2模拟实现webqq登录python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

tags: 加密,登录,headers,js,Python3,Logon,模拟,请求,python3,requests,params,url,login,验证
分页:12
转载请注明
本文标题:浅析Python3爬虫登录模拟
本站链接:http://www.codesec.net/view/572532.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(15)