Python3爬虫登陆模拟

使用Python爬虫登陆系统以后,可以实现的操做就多了不少,下面大体介绍下如何使用Python模拟登陆。前端

咱们都知道,在前端的加密验证,只要把将加密环境还原出来,便可以很轻易地登陆。cookie

首先分析登陆的步骤,经过审查元素得知session

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

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

function Logon() {
}

函数定义内容各有不一样,通常里面包含一些加密的操做,通常是使用写好的js加密。咱们所须要作的即是重复这些步骤,加密数据。post

对于加密,有三种方法:网站

第一,若是加密方法是base64之类的,能够直接用Python3的base64库加密;加密

第二,手动模仿;url

第三,直接调用js加密,须要先下载PyExecJS,有的电脑须要先安装js的运行环境,好比Node.js。使用方法以下:spa

newusername = execjs.compile(content).call('base64encode', username)

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

对于验证码的问题,先介绍下通常的图片验证码,能够请求获取验证码的地址,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是加密的数据。

相关文章
相关标签/搜索