Python实战案例,requests模块,Python实现模拟登录淘宝网

  • 时间:2022-03-15 14:32 作者:扒皮狼 来源: 阅读:308
  • 扫一扫,手机访问
摘要:前言利用利用Python模拟登录淘宝网。废话不多说。让我们愉快地开始吧~开发工具Python版本: 3.6.4相关模块:re模块os模块requests模块;以及少量Python自带的模块。环境调试安装Python并增加到环境变量,pip安装需要的相关模块就可。登录流程分析先给家展现淘宝登录请求时序

前言

利用利用Python模拟登录淘宝网。废话不多说。

让我们愉快地开始吧~

开发工具

Python版本: 3.6.4

相关模块:

re模块

os模块

requests模块;

以及少量Python自带的模块。

环境调试

安装Python并增加到环境变量,pip安装需要的相关模块就可。

登录流程分析

先给家展现淘宝登录请求时序图,方便大家了解

请求时序图

注解:淘宝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!前面说过ua为浏览器、ip、设施信息等多信息加密参数,所以猜想淘宝的验证码能否出现不仅仅从账号角度,还有ip、设施等角度!

举个例子:某台设施可能出现登录过大量的账号,这时候淘宝即可以从ua参数中获取设施号,而后对该设施进行限制!

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

代码

2.验证客户名密码

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

请求登录

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

参数

请求结果

请求结果

可以看到申请st码链接后面带了一个token

3.申请st码

上面我们已经申请到了淘宝(taobao.com)的token,这一步就是用token来换取st码。到这里很多人可能会有疑问:为什么淘宝登录需要这么麻烦呢?直接在 taobao.com 登录不即可以吗?为什么要先在taobao验证客户名密码,通过之后再去 alibaba.com 换取st码登录呢?任何公司的框架都是慢慢演变的结果,我猜想最开始的淘宝登录一定没这么复杂。但是随着阿里巴巴的慢慢壮大,很多事业线都划分开来,但是这些事业线之间又有关联性,比方客户登录了淘宝账号之后天猫就不需要再登录(注意淘宝和天猫的顶级域名不同,所以不能共享cookis)为了实现这个功能,单点登录就出现了。

单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的处理方案之一。SSO的定义是在多个应用系统中,客户只要要登录一次即可以访问所有相互信任的应用系统。 ——百度百科

很多大企业几乎都有做单点登录,那阿里的单点登录系统一定是由母公司阿里巴巴(alibaba.com)来做啦,所有子公司去调用母公司接口!我们再回来分析淘宝登录为何要如此复杂就很好了解了:客户数据在淘宝这里,所以需要现在淘宝(taobao.com)验证客户名和密码,验证通过生成一个token,浏览器拿着token去和阿里巴巴(alibaba.com)申请单点登录码(st码),阿里巴巴收到请求验证token通过则返回st码,所以用token换st码的起因就在于单点登录!了解了设计原理之后,代码实现起来就很清晰了!

代理商实现

4.使用st码登录

成功获取st码之后我们即可以来登录了,这一步是通过st码获取登录的cookies。

cookies

到这里我们就已经模拟登录淘宝成功了!

5.获取淘宝昵称

其实上面我们就已经登录淘宝成功并返回客户主页的链接,我们为了进一步验证登录成功,就请求一下淘宝客户主页,顺便把淘宝昵称提取出来吧!

淘宝昵称提取
  • 全部评论(0)
最新发布的资讯信息
【系统环境|】2025含金量排名前十计算机专业证书(2025-10-15 20:51)
【系统环境|】你有白帽众测 我有黑帽雇佣(2025-10-15 20:50)
【系统环境|】印度理工学院成功开发出针对5G网络攻击的最新软件解决方案(2025-10-15 20:49)
【系统环境|】道德黑客与黑客教程(2025-10-15 20:49)
【系统环境|】苹果翻车!macOS 15 竟藏“后门”,黑客能直接偷你所有密码(2025-10-15 20:47)
【系统环境|】解密“被墙”玄学:为什么我的网络方案能做到长期稳定?(2025-10-15 20:46)
【系统环境|】NAS软路由/防火墙/网络安全需要注意哪些?如何保护你的网络设备(2025-10-15 20:45)
【系统环境|】你真的理解防火墙吗?(2025-10-15 20:44)
【系统环境|】苹果手机一键换机教程详解(2025-10-15 20:44)
【系统环境|】二手iPhone到手后怎么快速验机?(2025-10-15 20:43)
手机二维码手机访问领取大礼包
返回顶部