您的位置:首页 >新闻资讯 > 正文

Python使用requests库模拟登录淘宝账号(上)

来源:互联网 作者:admin 时间:2019-11-01 14:40:03

  学好Python这款编程语言,我们能够设计出很多程序要帮助我们完成数据采集等工作,ET代理今天要跟大家介绍如何用Python模拟登录淘宝账号?


  看了下网上有很多关于模拟登录淘宝,但是基本都是使用scrapy、pyppeteer、selenium等库来模拟登录,今天就来使用requests库模拟登录淘宝!我们就先来讲讲淘宝登录的流程,先把流程原理搞懂,再去敲代码,这样大家就容易理解!


  一、淘宝登录流程


  淘宝ua参数:ua(User-Agent)故名用户代理,淘宝的ua参数加入了浏览器、ip、电脑、时间等信息,然后加密生成,在很多地方使用,不仅仅是登录!


  从代码层面考虑将模拟登录淘宝分为以下四个步骤:


  1、输入用户名后,浏览器会向淘宝(taobao.com)发起一个post的请求,判断是否出现滑块验证!


  2、用户输入密码后,浏览器向淘宝(taobao.com)又发起一个post请求,验证用户名密码是否正确,如果正确则返回一个token。


  3、浏览器拿着token去阿里巴巴(alibaba.com)交换st码!


  4、浏览器获取st码之后,拿着st码获取cookies,登录成功


  二、模拟登录实现


  上面我们只讲了大概的登录流程,这里猪哥会先详细讲解下每一步的操作,然后再贴出实现代码!


  1、判断是否需要验证码


  目前我们在登录淘宝的时候,大多数情况下是不会出现滑块验证码,猪哥尝试了很多次的登录退出也只是在中间出现过一次,那究竟是什么在控制是否需要滑块验证码的呢?


模拟登录淘宝账号


  从上图可以看出,当输入用户名后,浏览器就会发起一个post请求,来验证是否需要出现滑块验证码,如果返回true,滑块验证码则出现!否则不出现,一般是不会出现!


  图中我们可以看到这次post请求上传了两个参数:username、ua!


  知道了流程和请求链接及参数之后,我们就可以用代码来请求了!


模拟登录淘宝账号


  2、验证用户名密码


  这里一步也就是上面时序图图中的第5步:请求登录,这里会将用户名、ua参数、加密密码等30十几个参数post到淘宝(taobao.com)去验证。


模拟登录淘宝账号


  我们来用代码实现一下,大家别被这么多参数吓到,都是从浏览器复制过来的!


模拟登录淘宝账号


  看看请求结果!


模拟登录淘宝账号


  可以看到申请st码链接后面带了一个token,具体token是干什么用的后面我们再分析!


  以上是我们开始模拟登录操作的准备步骤,登录操作的部分,请留意ET代理的下一篇文章更新。


相关文章内容简介