当前位置:首页 > 时尚生活

淘宝登陆 Python模拟登录淘宝

追剧比追爬虫强

最近想爬淘宝的一些产品,但是发现如果要用搜索等一些功能的话,基本都需要登录,于是想出了一篇模拟登录淘宝的文章!

在淘宝上看了很多关于模拟登录的内容,基本上都是用scrapy,pyppeteer,selenium等库来模拟登录,但是目前还没有讲过这些库,只讲了requests库,所以今天就用requests库来模拟淘宝上的登录!

在说模拟登录淘宝之前,我们先回顾一下之前使用和的过程:这种模拟登录是比较简单的登录,只有在请求登录时上传并验证用户名和密码,也就是说一步一个脚印,才算成功!

淘宝登录比较复杂。为什么很复杂?因为淘宝登录不止一次涉及很多参数和请求!先说淘宝登录流程,先了解流程原理,再打代码,让大家轻松理解!

一、淘宝登录流程

为了方便大家理解,猪哥画了一个非标准的淘宝登录请求时序图

淘宝ua参数:ua(User-Agent)命名为用户代理。在淘宝ua参数中加入浏览器、ip、电脑、时间等信息,加密生成。很多地方都在用,不只是登录!

上图是详细的流程图。从代码层面考虑,猪哥将模拟登录淘宝分为以下四个步骤:

输入用户名后,浏览器会向淘宝(taobao.com)发送帖子请求,判断是否有滑块验证!

用户输入密码后,浏览器向淘宝(taobao.com)发送一个post请求,以验证用户名和密码是否正确,如果是,则返回一个令牌。

浏览器带令牌到阿里巴巴(Alibaba.com)交换st代码!

浏览器获取st代码后,获取带有st代码的cookies并成功登录

这里可能会有同学问这个问题:淘宝(taobao.com)为什么要去阿里巴巴(Alibaba.com)验证通过后用令牌交换st码?这个我们以后再说!

二、模拟登录实现

以上,我们只讲了一般的登录流程。这里猪哥详细讲解每一步的操作,然后贴实现代码!

1.确定您是否需要验证码

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

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

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

猪哥说ua是浏览器、ip、设备信息等多信息加密参数。,所以猪哥猜测淘宝的验证码是否出现不仅是从账号的角度,也是从ip、设备等角度。

比如某个设备可能登录了大量账号,淘宝可以从ua参数中获取设备号,然后对设备进行限制!

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

2.验证用户名和密码

这一步也是上述时间序列的第五步图图:请求登录,其中用户名、ua参数、加密密码等30多个参数将会发布到淘宝(taobao.com)进行验证。

看请求结果!

你可以看到在应用st代码链接后面有一个令牌,我们后面会分析。

3.申请st代码

以上,我们已经从淘宝(淘宝网)申请了令牌。这一步是用令牌换st码。

这里很多人可能会有疑问:为什么登陆淘宝这么麻烦?你不能在taobao.com直接登录吗?为什么要先在淘宝验证用户名和密码,然后去Alibaba.com换st码登录?

任何公司的框架都是缓慢演变的结果。我猜最初的淘宝登录肯定没那么复杂。但是随着阿里巴巴的发展,很多职业线都分了,但是这些职业线是有关联的。比如天猫在用户登录淘宝账号后不需要登录(注意淘宝和天猫的顶级域名不同,不能共享cookis)。为了实现这个功能,出现了单点登录。

单点登录是企业业务集成的常用解决方案之一。单点登录被定义为在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。-百度百科

很多大企业几乎都是做单点登录的,所以阿里的单点登录系统必须由母公司阿里巴巴(阿里巴巴网)来做,所有子公司都调用母公司接口!

很容易理解为什么淘宝登录这么复杂:用户数据在淘宝这里,所以淘宝(taobao.com)现在需要验证用户名和密码。验证后生成令牌,浏览器拿着令牌向阿里巴巴(alibaba.com)申请单点登录码(st code)。阿里巴巴收到验证令牌通过的请求,返回st码,所以用令牌更改st码的原因是单点登录!

了解了设计原理之后,代码实现非常清晰!

4.使用st代码登录

成功获取st代码后,我们就可以登录了。这一步是通过st代码获取用于登录的cookies。

在这里,我们已经模拟登录淘宝成功!

5.获得淘宝昵称

其实我们已经成功登录淘宝,回到了用户主页的链接。为了进一步验证登录成功,我们会请求淘宝用户主页,顺便提取淘宝昵称。

三.总结

整个故事讲完后,我们再稍微总结一下,主要从代码结构和存在的问题两个方面来说:

1.代码结构

发布一个代码结构图,让大家直观的理解

以上是我们之前提到的模拟登录淘宝的四个步骤,但是这里我们用代码实现了!

2.有问题

在写这篇教程之前,猪哥也是先在网上了解了一下,然后用他的浏览器和Charles一步一步的练习。最重要的是你首先要了解淘宝登录的一般流程,否则实际操作的时候会很混乱。以下是目前存在的问题和存在的问题

首先,第一个问题是解锁淘宝的滑块。目前没有破解请求的好办法。我们会在介绍一些爬虫框架后破解。

猪哥多次(50多次)尝试登录退出,都没有滑块验证码。

网上有人用代理ip,在这里对猪哥没用。只要你不是超超频繁的爬大量数据,大部分大公司都不会因为意外伤害率和用户范围广而封ip。也许一个字母就是整个社区。

第二步,验证用户名和密码时,上传了近30个参数。如果你复制用户名、ua和加密密码,验证仍然失败,你可以尝试用你浏览器中的参数替换这30个参数!

偶尔,第3步和第4步会出现错误。再试一次!

有些关于淘宝登录框架的文章纯属猪猜。如有错误,请指正!

你是不是觉得在这里看到淘宝模拟登录就清楚多了?有兴趣的同学可以收藏转发,周末有空试试(源码在原阅读中)。征服淘宝登录,其他登录会比较简单!

1.《淘宝登陆 Python模拟登录淘宝》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《淘宝登陆 Python模拟登录淘宝》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/1077885.html

上一篇

小猫跌落烟道被困37天生还!从12斤瘦到2斤 见到输液管也想吃

下一篇

岳云鹏手写高考成绩单 目前是什么情况?

快手原来是晶哥李晶个人资料简介 家庭背景微博淘宝店铺叫什么

  • 快手原来是晶哥李晶个人资料简介 家庭背景微博淘宝店铺叫什么
  • 快手原来是晶哥李晶个人资料简介 家庭背景微博淘宝店铺叫什么
  • 快手原来是晶哥李晶个人资料简介 家庭背景微博淘宝店铺叫什么
csdn登陆 SpringBoot 跨系统单点登陆的实现 | CSDN 博文精选

csdn登陆 SpringBoot 跨系统单点登陆的实现 | CSDN 博文精选

作者|代码忘记烦恼...

华为手机电池容量怎么看 揭秘神秘代码!华为手机输入就能补电?增加续航还能更持久?

  • 华为手机电池容量怎么看 揭秘神秘代码!华为手机输入就能补电?增加续航还能更持久?
  • 华为手机电池容量怎么看 揭秘神秘代码!华为手机输入就能补电?增加续航还能更持久?
  • 华为手机电池容量怎么看 揭秘神秘代码!华为手机输入就能补电?增加续航还能更持久?

淘宝的企业店铺靠谱吗 怕被骗?淘宝代运营公司到底靠谱吗?

  • 淘宝的企业店铺靠谱吗 怕被骗?淘宝代运营公司到底靠谱吗?
  • 淘宝的企业店铺靠谱吗 怕被骗?淘宝代运营公司到底靠谱吗?
  • 淘宝的企业店铺靠谱吗 怕被骗?淘宝代运营公司到底靠谱吗?

虚拟人生游戏 淘宝上线“虚拟人生”?我们刚刚玩了一下,发现了这些秘密

上古卷轴5负重 上古卷轴5负重超过上限怎么办 负重代码以及使用分享

上古卷轴5负重 上古卷轴5负重超过上限怎么办 负重代码以及使用分享

上古卷轴5中的人物有一个权重属性,限制了我们搜索的爱好。一旦体重超过上限,我们的动作就会变得缓慢,只能走不能跑。下面给大家介绍一下上古卷轴5的重量是如何超过上限的。我们来看看! 上古卷轴5的人物有负重属性,限制了我们搜索的爱好。一旦体重超过上限,我们的动作就会变得缓慢,只能走不能跑。让我们给...

2020年天猫/淘宝双十一销售额实时数据统计 成交额预估多少个亿

  • 2020年天猫/淘宝双十一销售额实时数据统计 成交额预估多少个亿
  • 2020年天猫/淘宝双十一销售额实时数据统计 成交额预估多少个亿
  • 2020年天猫/淘宝双十一销售额实时数据统计 成交额预估多少个亿

禁止鼠标右键代码 通过Excel vba禁用鼠标右键部分功能实现工作表深度隐藏

  • 禁止鼠标右键代码 通过Excel vba禁用鼠标右键部分功能实现工作表深度隐藏
  • 禁止鼠标右键代码 通过Excel vba禁用鼠标右键部分功能实现工作表深度隐藏
  • 禁止鼠标右键代码 通过Excel vba禁用鼠标右键部分功能实现工作表深度隐藏