久久久精品中文字幕麻豆发布-日本午夜福利视频-av2014天堂网-欧美熟妇maturewomen

*無貨源、一件代發,請勿咨詢無法合作。商務合作請投遞郵箱:ylj177@huofutp.com

python爬蟲淘寶和天貓(python爬蟲淘寶商品數據)

瀏覽量 255 時間 2023-03-05 13:40:16

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

天貓店鋪代運營 (2).jpeg

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


  一、淘寶登錄流程


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


  淘寶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.判斷是否需要驗證碼


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


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


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


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


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


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


  2.驗證用戶名密碼


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


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


  看看請求結果!


  可以看到申請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碼的原因就在于單點登錄!


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


  4.使用st碼登錄


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


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


  5.獲取淘寶昵稱


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


  今天的分享就到這里了,想了解更多關于天貓商城外包淘寶代運營等內容,敬請關注火蝠電商代運營官網。

本站部分文章及圖片來自互聯網及其他公眾平臺,版權歸原作者,如有侵權請聯系qq:1248031689,我們會在第一時間刪除!

熱門推薦

最新推薦

熱門標簽

查看更多 >>
临海市| 白朗县| 汪清县| 房产| 明星| 临西县| 高台县| 新邵县| 保靖县| 盘锦市| 大港区| 册亨县| 安吉县| 保德县| 茌平县| 深水埗区| 五家渠市| 杭锦后旗| 灵山县| 沛县| 广昌县| 合山市| 秦安县| 孟连| 万源市| 华阴市| 西乌珠穆沁旗| 黔西县| 长沙县| 平乐县| 延津县| 德钦县| 大埔县| 上栗县| 天祝| 池州市| 焦作市| 安平县| 黑山县| 错那县| 阿荣旗|