欧美一区二区国产,亚洲午夜久久久久久久,国产精品一区一区,性爱视频在线播放

電腦怎么下載淘寶?淘寶登錄電腦版詳細(xì)教程圖一覽

今天跟大家出的Python學(xué)習(xí)教程,Python模擬登錄淘寶,我知道,肯定是吸引了你,一起來(lái)看看吧! 最近想爬取淘寶的一些商品,但是發(fā)現(xiàn)如果要使用搜索等一些功能時(shí)基本都需要登錄,所以就想出一篇模擬登錄淘寶的Python學(xué)習(xí)教程文章! 看了下網(wǎng)上有很多關(guān)于模擬登錄淘寶,但是基本都是使用scrapy、pyppeteer、selenium等庫(kù)來(lái)模擬登錄,但是目前我們還沒(méi)有講到這些庫(kù),只講了requests庫(kù),那我們今天就來(lái)使用requests庫(kù)模擬登錄淘寶! 講模擬登錄淘寶之前,我們來(lái)回顧一下之前用requests庫(kù)模擬登錄豆瓣和新浪微博的過(guò)程:這一類模擬登錄是比較簡(jiǎn)單的登錄,只需要在請(qǐng)求登錄時(shí)將用戶名和密碼上傳驗(yàn)證通過(guò)就成功了,也就是說(shuō)一步到位! 而淘寶登錄就比較復(fù)雜,為什么說(shuō)復(fù)雜呢?因?yàn)樘詫毜卿浬婕皡?shù)多且請(qǐng)求不止一次!我們就先來(lái)講講淘寶登錄的流程,先把流程原理搞懂,再去敲代碼,這樣大家就容易理解!

一、淘寶登錄流程

為了便于大家理解,畫了一個(gè)非標(biāo)準(zhǔn)的淘寶登錄請(qǐng)求時(shí)序圖
電腦怎么下載淘寶?淘寶登錄電腦版詳細(xì)教程圖一覽

淘寶ua參數(shù):ua(User-Agent)故名用戶代理,淘寶的ua參數(shù)加入了瀏覽器、ip、電腦、時(shí)間等信息,然后加密生成,在很多地方使用,不僅僅是登錄!
上圖是比較詳細(xì)的流程圖,從代碼層面考慮將模擬登錄淘寶分為以下四個(gè)步驟:
  1. 輸入用戶名后,瀏覽器會(huì)向淘寶(taobao.com)發(fā)起一個(gè)post的請(qǐng)求,判斷是否出現(xiàn)滑塊驗(yàn)證!
  2. 用戶輸入密碼后,瀏覽器向淘寶(taobao.com)又發(fā)起一個(gè)post請(qǐng)求,驗(yàn)證用戶名密碼是否正確,如果正確則返回一個(gè)token。
  3. 瀏覽器拿著token去阿里巴巴(alibaba.com)交換st碼!
  4. 瀏覽器獲取st碼之后,拿著st碼獲取cookies,登錄成功
這里也許有同學(xué)會(huì)提出疑問(wèn):為什么淘寶(taobao.com)驗(yàn)證通過(guò)之后還要拿著 token去阿里巴巴(alibaba.com)交換st碼呢? 這個(gè)我們放后面講!

二、模擬登錄實(shí)現(xiàn)

上面我們只講了大概的登錄流程,這里會(huì)先詳細(xì)講解下每一步的操作,然后再貼出實(shí)現(xiàn)代碼! 1.判斷是否需要驗(yàn)證碼 目前我們?cè)诘卿浱詫毜臅r(shí)候,大多數(shù)情況下是不會(huì)出現(xiàn)滑塊驗(yàn)證碼,嘗試了很多次的登錄退出也只是在中間出現(xiàn)過(guò)一次,那究竟是什么在控制是否需要滑塊驗(yàn)證碼的呢?
電腦怎么下載淘寶?淘寶登錄電腦版詳細(xì)教程圖一覽

從上圖可以看出,當(dāng)輸入用戶名后,瀏覽器就會(huì)發(fā)起一個(gè)post請(qǐng)求,來(lái)驗(yàn)證是否需要出現(xiàn)滑塊驗(yàn)證碼,如果返回true,滑塊驗(yàn)證碼則出現(xiàn)!否則不出現(xiàn),一般是不會(huì)出現(xiàn)! 圖中我們可以看到這次post請(qǐng)求上傳了兩個(gè)參數(shù):username、ua! 前面說(shuō)過(guò)ua為瀏覽器、ip、設(shè)備信息等多信息加密參數(shù),所以猜想淘寶的驗(yàn)證碼是否出現(xiàn)不僅僅從賬號(hào)角度,還有ip、設(shè)備等角度!
舉個(gè)例子:某臺(tái)設(shè)備可能出現(xiàn)登錄過(guò)大量的賬號(hào),這時(shí)候淘寶就可以從ua參數(shù)中獲取設(shè)備號(hào),然后對(duì)該設(shè)備進(jìn)行限制!
知道了流程和請(qǐng)求鏈接及參數(shù)之后,我們就可以用代碼來(lái)請(qǐng)求了!
電腦怎么下載淘寶?淘寶登錄電腦版詳細(xì)教程圖一覽

2.驗(yàn)證用戶名密碼 這里一步也就是上面時(shí)序圖圖中的第5步:請(qǐng)求登錄,這里會(huì)將用戶名、ua參數(shù)、加密密碼等30十幾個(gè)參數(shù)post到淘寶(taobao.com)去驗(yàn)證。
電腦怎么下載淘寶?淘寶登錄電腦版詳細(xì)教程圖一覽

我們來(lái)用代碼實(shí)現(xiàn)一下,大家別被這么多參數(shù)嚇到,都是從瀏覽器復(fù)制過(guò)來(lái)的!
電腦怎么下載淘寶?淘寶登錄電腦版詳細(xì)教程圖一覽

看看請(qǐng)求結(jié)果!
電腦怎么下載淘寶?淘寶登錄電腦版詳細(xì)教程圖一覽

可以看到申請(qǐng)st碼鏈接后面帶了一個(gè)token,具體token是干什么用的后面我們?cè)俜治觯? 3.申請(qǐng)st碼 上面我們已經(jīng)申請(qǐng)到了淘寶(taobao.com)的token,這一步就是用token來(lái)?yè)Q取st碼。 到這里很多人可能會(huì)有疑問(wèn):為什么淘寶登錄需要這么麻煩呢?直接在 taobao.com 登錄不就可以嗎?為什么要先在taobao驗(yàn)證用戶名密碼,通過(guò)之后再去 alibaba.com 換取st碼登錄呢? 任何公司的框架都是慢慢演變的結(jié)果,我猜想最開始的淘寶登錄肯定沒(méi)這么復(fù)雜。但是隨著阿里巴巴的慢慢壯大,很多事業(yè)線都劃分開來(lái),但是這些事業(yè)線之間又有關(guān)聯(lián)性,比如用戶登錄了淘寶賬號(hào)之后天貓就不需要再登錄(注意淘寶和天貓的頂級(jí)域名不同,所以不能共享cookis)為了實(shí)現(xiàn)這個(gè)功能,單點(diǎn)登錄就出現(xiàn)了。
單點(diǎn)登錄(Single Sign On),簡(jiǎn)稱為 SSO,是目前比較流行的企業(yè)業(yè)務(wù)整合的解決方案之一。SSO的定義是在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問(wèn)所有相互信任的應(yīng)用系統(tǒng)。 ——百度百科
很多大企業(yè)幾乎都有做單點(diǎn)登錄,那阿里的單點(diǎn)登錄系統(tǒng)肯定是由母公司阿里巴巴(alibaba.com)來(lái)做啦,所有子公司去調(diào)用母公司接口! 我們?cè)倩貋?lái)分析淘寶登錄為何要如此復(fù)雜就很好理解了:用戶數(shù)據(jù)在淘寶這里,所以需要現(xiàn)在淘寶(taobao.com)驗(yàn)證用戶名和密碼,驗(yàn)證通過(guò)生成一個(gè)token,瀏覽器拿著token去和阿里巴巴(alibaba.com)申請(qǐng)單點(diǎn)登錄碼(st碼),阿里巴巴收到請(qǐng)求驗(yàn)證token通過(guò)則返回st碼,所以用token換st碼的原因就在于單點(diǎn)登錄! 理解了設(shè)計(jì)原理之后,代碼實(shí)現(xiàn)起來(lái)就很清晰了!
電腦怎么下載淘寶?淘寶登錄電腦版詳細(xì)教程圖一覽

4.使用st碼登錄 成功獲取st碼之后我們就可以來(lái)登錄了,這一步是通過(guò)st碼獲取登錄的cookies。
電腦怎么下載淘寶?淘寶登錄電腦版詳細(xì)教程圖一覽

到這里我們就已經(jīng)模擬登錄淘寶成功了! 5.獲取淘寶昵稱 其實(shí)上面我們就已經(jīng)登錄淘寶成功并返回用戶主頁(yè)的鏈接,我們?yōu)榱诉M(jìn)一步驗(yàn)證登錄成功,就請(qǐng)求一下淘寶用戶主頁(yè),順便把淘寶昵稱提取出來(lái)吧!
電腦怎么下載淘寶?淘寶登錄電腦版詳細(xì)教程圖一覽

三、本次Python學(xué)習(xí)教程總結(jié)

整體講完之后我們來(lái)稍微總結(jié)一下吧,主要從代碼結(jié)構(gòu)和存在的問(wèn)題兩個(gè)方面說(shuō)下: 1.代碼結(jié)構(gòu) 來(lái)放出一張代碼結(jié)構(gòu)圖,讓大家直觀了解
電腦怎么下載淘寶?淘寶登錄電腦版詳細(xì)教程圖一覽

這就是我們前面說(shuō)過(guò)的模擬登錄淘寶的四個(gè)步驟,不過(guò)這里我們是用代碼實(shí)現(xiàn)了! 2.存在問(wèn)題 在寫這篇教程之前也是先在網(wǎng)上了解,然后自己用瀏覽器和抓包工具(Charles)一步一步實(shí)踐,最重要的是你先要了解淘寶登錄的大概流程,不然你實(shí)際操作起來(lái)會(huì)一頭霧水,下面就要講講目前遇到的問(wèn)題和存在的問(wèn)題吧
  1. 首先第一個(gè)問(wèn)題便是淘寶的滑塊解鎖,目前requests還沒(méi)有很好的破解辦法,后面介紹了一些爬蟲框架之后我們?cè)賮?lái)破解吧!
  2. 嘗試了很多次(50次以上)登錄退出都沒(méi)出現(xiàn)過(guò)滑塊驗(yàn)證碼。
  3. 網(wǎng)上有人使用代理ip,這里也沒(méi)用,只要你不是超級(jí)超級(jí)超級(jí)頻繁且大量爬取數(shù)據(jù),一般大廠都不太會(huì)去封ip,因?yàn)橛姓`傷率和影響用戶面太廣,也許一封就是整個(gè)小區(qū)。
  4. 在第二步驗(yàn)證用戶名和密碼時(shí),上傳了近30個(gè)參數(shù),如果你把username、ua、加密密碼復(fù)制進(jìn)去驗(yàn)證還是不通過(guò)可嘗試把那30個(gè)參數(shù)換成你瀏覽器中的!
  5. 在第三步和第四步偶爾會(huì)出現(xiàn)一次錯(cuò)誤,重試一下就可以!
  6. 文章有些關(guān)于淘寶登錄框架純屬猜想,如有錯(cuò)誤還望指正!

聲明:本文由網(wǎng)站用戶香香發(fā)表,超夢(mèng)電商平臺(tái)僅提供信息存儲(chǔ)服務(wù),版權(quán)歸原作者所有。若發(fā)現(xiàn)本站文章存在版權(quán)問(wèn)題,如發(fā)現(xiàn)文章、圖片等侵權(quán)行為,請(qǐng)聯(lián)系我們刪除。

(0)
上一篇 2023年2月2日 12:09:58
下一篇 2023年2月2日 12:31:09

相關(guān)推薦

發(fā)表回復(fù)

您的電子郵箱地址不會(huì)被公開。 必填項(xiàng)已用*標(biāo)注

主站蜘蛛池模板: 丰都县| 商河县| 通化市| 江西省| 教育| 辽阳县| 崇阳县| 岳阳县| 大悟县| 衢州市| 浦江县| 军事| 赫章县| 蓬莱市| 饶河县| 平凉市| 那坡县| 磴口县| 山阳县| 富阳市| 禄劝| 巩义市| 曲水县| 嵊泗县| 霍山县| 芦山县| 周至县| 滦平县| 四平市| 大同县| 商河县| 盖州市| 彩票| 桐梓县| 类乌齐县| 文安县| 沐川县| 彭山县| 崇礼县| 图们市| 康马县|