欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

手把手教你用Python模擬登錄淘寶

系統 1611 0
原文鏈接: https://aiprocon.csdn.net/m/topic/ai_procon/index

手把手教你用Python模擬登錄淘寶_第1張圖片

作者?|?豬哥66

來源 |? 裸睡的豬 (ID:IT--Pig)


最近想爬取淘寶的一些商品,但是發現如果要使用搜索等一些功能時基本都需要登錄,所以就想出一篇模擬登錄淘寶的文章!


手把手教你用Python模擬登錄淘寶_第2張圖片


看了下網上有很多關于模擬登錄淘寶,但是基本都是使用 scrapy、pyppeteer、selenium 等庫來模擬登錄,但是目前我們還沒有講到這些庫,只講了 requests 庫,那我們今天就來使用 requests 庫模擬登錄淘寶!


講模擬登錄淘寶之前,我們來回顧一下之前用? requests 庫模擬登錄豆瓣 新浪微博 的過程:這一類模擬登錄是比較簡單的登錄,只需要在請求登錄時將用戶名和密碼上傳驗證通過就成功了,也就是說一步到位!


而淘寶登錄就比較復雜,為什么說復雜呢?因為淘寶登錄涉及參數多且請求不止一次!我們就先來講講淘寶登錄的流程,先把流程原理搞懂,再去敲代碼,這樣大家就容易理解!


一、淘寶登錄流程

為了便于大家理解,豬哥畫了一個非標準的淘寶登錄請求時序圖


手把手教你用Python模擬登錄淘寶_第3張圖片

淘寶ua參數:ua(User-Agent) 故名用戶代理,淘寶的 ua 參數加入了瀏覽器、ip、電腦、時間等信息,然后加密生成,在很多地方使用,不僅僅是登錄!

上圖是比較詳細的流程圖,從代碼層面考慮豬哥將模擬登錄淘寶分為以下四個步驟:


  1. 輸入用戶名后,瀏覽器會向淘寶(taobao.com)發起一個 post 的請求,判斷是否出現滑塊驗證!

  2. 用戶輸入密碼后,瀏覽器向淘寶(taobao.com)又發起一個 post 請求,驗證用戶名密碼是否正確,如果正確則返回一個 token。

  3. 瀏覽器拿著 token 去阿里巴巴(alibaba.com)交換st碼!

  4. 瀏覽器獲取 st 碼之后,拿著 st 碼獲取 cookies,登錄成功

這里也許有同學會提出疑問:為什么淘寶(taobao.com)驗證通過之后還要拿著 token 去阿里巴巴(alibaba.com)交換 st 碼呢??這個我們放后面講!


二、模擬登錄實現

上面我們只講了大概的登錄流程,這里豬哥會先詳細講解下每一步的操作,然后再貼出實現代碼!


1.判斷是否需要驗證碼

目前我們在登錄淘寶的時候,大多數情況下是不會出現滑塊驗證碼,豬哥嘗試了很多次的登錄退出也只是在中間出現過一次,那究竟是什么在控制是否需要滑塊驗證碼的呢?


手把手教你用Python模擬登錄淘寶_第4張圖片


從上圖可以看出,當豬哥輸入用戶名后,瀏覽器就會發起一個 post 請求,來驗證是否需要出現滑塊驗證碼,如果返回 true,滑塊驗證碼則出現!否則不出現,一般是不會出現!


圖中我們可以看到這次 post 請求上傳了兩個參數:username、ua!

前面豬哥說過 ua 為瀏覽器、ip、設備信息等多信息加密參數,所以豬哥猜想淘寶的驗證碼是否出現不僅僅從賬號角度,還有 ip、設備等角度!

舉個例子:某臺設備可能出現登錄過大量的賬號,這時候淘寶就可以從ua參數中獲取設備號,然后對該設備進行限制!

知道了流程和請求鏈接及參數之后,我們就可以用代碼來請求了!


手把手教你用Python模擬登錄淘寶_第5張圖片


2.驗證用戶名密碼

這里一步也就是上面時序圖圖中的第 5 步:請求登錄,這里會將用戶名、ua 參數、加密密碼等 30 十幾個參數 post 到淘寶(taobao.com)去驗證。


手把手教你用Python模擬登錄淘寶_第6張圖片


我們來用代碼實現一下,大家別被這么多參數嚇到,都是從瀏覽器復制過來的!


手把手教你用Python模擬登錄淘寶_第7張圖片


看看請求結果!


手把手教你用Python模擬登錄淘寶_第8張圖片


可以看到申請st碼鏈接后面帶了一個 token,具體 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 碼的原因就在于單點登錄!


理解了設計原理之后,代碼實現起來就很清晰了!


手把手教你用Python模擬登錄淘寶_第9張圖片


4.使用 st 碼登錄

成功獲取 st 碼之后我們就可以來登錄了,這一步是通過 st 碼獲取登錄的 cookies。


手把手教你用Python模擬登錄淘寶_第10張圖片


到這里我們就已經模擬登錄淘寶成功了!


5.獲取淘寶昵稱

其實上面我們就已經登錄淘寶成功并返回用戶主頁的鏈接,我們為了進一步驗證登錄成功,就請求一下淘寶用戶主頁,順便把淘寶昵稱提取出來吧!


手把手教你用Python模擬登錄淘寶_第11張圖片


三、總結

整體講完之后我們來稍微總結一下吧,主要從代碼結構和存在的問題兩個方面說下:


1.代碼結構

來放出一張代碼結構圖,讓大家直觀了解


手把手教你用Python模擬登錄淘寶_第12張圖片


這就是我們前面說過的模擬登錄淘寶的四個步驟,不過這里我們是用代碼實現了!


2.存在問題

在寫這篇教程之前豬哥也是先在網上了解,然后自己用瀏覽器和抓包工具(Charles)一步一步實踐,最重要的是你先要了解淘寶登錄的大概流程,不然你實際操作起來會一頭霧水,下面就要講講目前遇到的問題和存在的問題吧.


  1. 首先第一個問題便是淘寶的滑塊解鎖,目前 requests 還沒有很好的破解辦法,后面介紹了一些爬蟲框架之后我們再來破解吧!

  2. 豬哥嘗試了很多次(50 次以上)登錄退出都沒出現過滑塊驗證碼。

  3. 網上有人使用代理 ip,這里豬哥也沒用,只要你不是超級超級超級頻繁且大量爬取數據,一般大廠都不太會去封 ip,因為有誤傷率和影響用戶面太廣,也許一封就是整個小區。

  4. 在第二步驗證用戶名和密碼時,上傳了近 30 個參數,如果你把username、ua、加密密碼復制進去驗證還是不通過可嘗試把那 30 個參數換成你瀏覽器中的!

  5. 在第三步和第四步偶爾會出現一次錯誤,重試一下就可以!

  6. 文章有些關于淘寶登錄框架純屬豬哥猜想,如有錯誤還望指正!


看到這里是不是感覺淘寶模擬登錄就清晰明了很多了,感興趣的同學可以收藏轉發,周末有空自己嘗試一下(源碼:https://github.com/pig6/login_taobao)。征服淘寶登錄,其他登錄也就相對簡單了!

(*本文為 AI 科技大本營轉載文章,轉載請聯系原作者)

福利時刻



入群參與每周抽獎~

掃碼添加小助手,回復:大會,加入福利群,參與抽獎送禮!

手把手教你用Python模擬登錄淘寶_第13張圖片

大會 優惠票限時搶購中! 此外,伯克利大學名師精髓課程移師北京。 《動手學深度學習》作者、亞馬遜首席科學家李沐線下親授「深度學習實訓營」, 免費GPU資源,現場還將限量贈送價值85元的配套書籍一本,先到先得。原價1099元, 限時專享CSDN 獨家福利價 199元 ! 識別海報二維碼,即刻購票~

手把手教你用Python模擬登錄淘寶_第14張圖片

推薦閱讀

  • 字節跳動李航: 自學機器學習,研究AI三十載,他說AI發展或進入平緩

  • 2019 AI ProCon日程出爐 Amazon首席科學家李沐親授「深度學習

  • 讀完ACL 2019錄取的30篇知識圖譜論文,我發現了這5點趨勢

  • 如何用知識圖譜挖掘商業數據背后的寶藏?

  • 騰訊AI開源框架Angel 3.0重磅發布: 超50萬行代碼,打造全棧機器學習平臺

  • 教你閱讀CPython的源

  • 安裝Python/PyCharm,入門級爬蟲案例 | Mac下玩轉Python

  • Python冷知識,不一樣的技巧帶給你不一樣的樂趣

  • 互聯網人職業發展之路: 三年升高工,七年做架構,十年送外賣

  • IT公司老板落水,各部門員工怎么救?

640?wx_fmt=png

你點的每個“在看”,我都認真當成了喜歡


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 邪不压正免费观看完整高清视频 | 欧美一区视频 | 男女午夜性爽快免费视频不卡 | 亚洲天堂在线电影 | 成人免费网址在线 | 亚洲精品乱码8久久久久久日本 | 黄色网址在线视频 | 日本黄色小视频在线观看 | 久久久www成人免费精品 | 成人99| 在线a视频网站 | 久草在线在线精品观看 | 久草大| 久久精品视频16 | 国产美女极品免费视频 | 国产精品成在线观看 | av一区在线观看 | 精品国产三级 | 91在线播放视频 | av黄色在线| 国产一级毛片高清 | 人人99| 日本中文字幕网站 | 免费黄色在线 | 国产精品美女久久久久久久久久久 | 亚洲欧美在线免费观看 | 欧美成人影院在线观看三级 | 午夜性啪啪A片免费AAA毛片 | 亚洲一区二区三区视频 | 草综合 | 国产精品俺来也在线观看 | 久久亚洲视频 | 国产xxx在线观看 | 久久久久无码国产精品一区 | 国产大陆精品另类xxxx | 99精品国产在热久久 | 国产精品永久免费视频观看 | 中文在线观看免费视频 | 成人av激情| 91精品啪在线观看国产91九色 | 欧美黄色一级片视频 |