requests模拟登陆京东
环境:python 3.6.1 | requests 2.18.4 | lxml 4.0.0 | pillow 4.2.1
时间:2017-10-1 可用
-
以前在一次京东秒杀活动中使用selenium模拟登陆过京东,但最后没抢到,不知是运气不佳还是selenium太慢,这次用requests不知能否成功,以下只是模拟登陆的具体思路和代码。
模拟登陆三个要点:目标网址(是否需要构造)、post数据(包含验证信息)、头部信息
一、思路
模拟登陆大致模式分三个步骤
1、试探
打开浏览器调试工具(我用的是Firefox+chrome),在登陆页面输入账号、密码时故意输错,查看提交了那些数据,如下图
![]()
在红色方框里的就是我们要提交的数据,注意前面的字段,这些我们基本都可以从源文件里提取出来。
2、准备数据(post参数)
我们可以把提取出的数据加到请求里,这里我们要注意提交的网址,在网址后面大部分都要加参数的,这时我们就要分析再构造了;如果有验证码的话还要进行验证码图片的提取,这也是个坑,
![]()
这里我们可以利用调试工具查看验证码图片地址,对我们分析很有帮助的。
3、尝试登陆,如果没成功就检查前面的数据是否全且正确。
二、下面上代码
python
# _*_coding:utf-8 _*_
__author__ = 'leiyang'
__date__ = '2017-10-1 8:54'