python设计一个验证用户密码程序_Python使用requests库模拟登录淘宝账号(上)

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

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

一、淘宝登录流程

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

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

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

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

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

二、模拟登录实现

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

1、判断是否需要验证码

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

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

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

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

2、验证用户名密码

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

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

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

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

你可能感兴趣的:(python设计一个验证用户密码程序_Python使用requests库模拟登录淘宝账号(上))