Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 久久精品国产精品亚洲20,www一区二区,亚洲美女影院

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          Python模擬登錄淘寶

          Python模擬登錄淘寶

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

          淘寶登錄就比較復(fù)雜,為什么說復(fù)雜呢?因?yàn)樘詫毜卿浬婕皡?shù)多且請求不止一次!我們就先來講講淘寶登錄的流程,先把流程原理搞懂,再去敲代碼,這樣大家就容易理解!

          一、淘寶登錄流程

          為了便于大家理解,畫了一個(gè)非標(biāo)準(zhǔn)的淘寶登錄請求時(shí)序圖

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

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

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

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

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

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

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

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

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

          1.判斷是否需要驗(yàn)證碼

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

          從上圖可以看出,當(dāng)輸入用戶名后,瀏覽器就會發(fā)起一個(gè)post請求,來驗(yàn)證是否需要出現(xiàn)滑塊驗(yàn)證碼,如果返回true,滑塊驗(yàn)證碼則出現(xiàn)!否則不出現(xiàn),一般是不會出現(xiàn)!

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

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

          舉個(gè)例子:某臺設(shè)備可能出現(xiàn)登錄過大量的賬號,這時(shí)候淘寶就可以從ua參數(shù)中獲取設(shè)備號,然后對該設(shè)備進(jìn)行限制!

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

          2.驗(yàn)證用戶名密碼

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

          我們來用代碼實(shí)現(xiàn)一下,大家別被這么多參數(shù)嚇到,都是從瀏覽器復(fù)制過來的!

          看看請求結(jié)果!

          可以看到申請st碼鏈接后面帶了一個(gè)token,具體token是干什么用的后面我們再分析!

          3.申請st碼

          上面我們已經(jīng)申請到了淘寶(taobao.com)的token,這一步就是用token來換取st碼。

          到這里很多人可能會有疑問:為什么淘寶登錄需要這么麻煩呢?直接在 taobao.com 登錄不就可以嗎?為什么要先在taobao驗(yàn)證用戶名密碼,通過之后再去 alibaba.com 換取st碼登錄呢?

          任何公司的框架都是慢慢演變的結(jié)果,我想最開始的淘寶登錄肯定沒這么復(fù)雜。但是隨著阿里巴巴的慢慢壯大,很多事業(yè)線都劃分開來,但是這些事業(yè)線之間又有關(guān)聯(lián)性,比如用戶登錄了淘寶賬號之后天貓就不需要再登錄了呢?(注意淘寶和天貓的頂級域名不同,所以不能共享cookis)為了解決這個(gè)問題,單點(diǎn)登錄就出現(xiàn)了。

          單點(diǎn)登錄(Single Sign On),簡稱為 SSO,是目前比較流行的企業(yè)業(yè)務(wù)整合的解決方案之一。SSO的定義是在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)。——百度百科

          很多大企業(yè)幾乎都有做單點(diǎn)登錄,那阿里的單點(diǎn)登錄系統(tǒng)肯定是由母公司阿里巴巴(alibaba.com)來做啦,所有子公司去調(diào)用母公司接口!

          我們再回來分析淘寶登錄為何要如此復(fù)雜就很好理解了:用戶數(shù)據(jù)在淘寶這里,所以需要現(xiàn)在淘寶(taobao.com)驗(yàn)證用戶名和密碼,驗(yàn)證通過生成一個(gè)token,瀏覽器拿著token去和阿里巴巴(alibaba.com)申請單點(diǎn)登錄碼(st碼),阿里巴巴收到請求驗(yàn)證token通過則返回st碼,所以用token換st碼的原因就在于單點(diǎn)登錄!

          理解了設(shè)計(jì)原理之后,代碼實(shí)現(xiàn)起來就很清晰了!

          4.使用st碼登錄

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

          到這里我們就已經(jīng)模擬登錄淘寶成功了!

          5.獲取淘寶昵稱

          其實(shí)上面我們就已經(jīng)登錄淘寶成功并返回用戶主頁的鏈接,我們?yōu)榱诉M(jìn)一步驗(yàn)證登錄成功,就請求一下淘寶用戶主頁,順便把淘寶昵稱提取出來吧!

          三、總結(jié)

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

          1.代碼結(jié)構(gòu)

          來放出一張代碼結(jié)構(gòu)圖,讓大家直觀了解

          這就是我們前面說過的模擬登錄淘寶的四個(gè)步驟,不過這里我們是用代碼實(shí)現(xiàn)了!

          完整代碼

          gt;>閱讀前請點(diǎn)擊右上角【關(guān)注】海潮說電商頭條號,每天收獲社交電商干貨內(nèi)容。

          1、淘搶購

          淘搶購官方報(bào)名入口,[信譽(yù)要求:≥3鉆;天貓]

          http://www.taobao-taoqianggou.com/bao/index.html

          2、卷皮

          卷皮促銷平臺,[信譽(yù)要求:≥1鉆]

          http://hezuo.juanpi.com/

          3、惠品折

          原會員購促銷平臺,[信譽(yù)要求:≥1鉆+店鋪總銷量大

          http://sj.huipinzhe.com/intro.html

          4、1折網(wǎng)

          1折網(wǎng)促銷平臺,[信譽(yù)要求:淘寶;天貓]

          http://www.1zw.com/

          5、折800

          折800促銷平臺,[信譽(yù)要求:≥1鉆]

          https://zhaoshang.zhe800.com/

          6、天天特價(jià)

          淘寶官方天天特價(jià)平臺,[信譽(yù)要求:3心—5鉆]

          http://www.taoqingchang.com/baoming/index

          7、返利網(wǎng)

          返利網(wǎng)促銷平臺,[信譽(yù)要求:≥1鉆]

          https://super.fanli.com/apply/landing

          8、試客聯(lián)盟

          試客聯(lián)盟促銷平臺,以免費(fèi)試用為主

          http://www.shikee.com/

          9、唯品會

          唯品會站外平臺,[信譽(yù)要求:無]

          http://support.vip.com/investment/index.php

          10、淘粉吧

          淘粉吧促銷平臺,[信譽(yù)要求:≥1藍(lán)冠]

          http://baoming.taofen8.com/

          11、利趣網(wǎng)

          利趣網(wǎng)促銷平臺,[信譽(yù)要求:≥1鉆]

          http://www.liqu.com/seller

          【關(guān)注、轉(zhuǎn)評】后私信送運(yùn)營數(shù)據(jù)分析表格一套。

          我是海潮,洪海龍騰,助力中國電商!

          雙十二不是馬上就來了。雙十一的時(shí)候不是買買買,心痛的不行。但是看到她開心又很開心,所以很是猶豫!一方面是她衣服實(shí)在太多了,并不是小編舍不得給女朋友買!主要衣柜都放不下了,還是要買!難道這是女人的天性嗎?為了節(jié)制女朋友控制不住自己的手,所以我只能用Python來模擬登陸淘寶,然后把女朋友加入購物車的衣服鞋子,包包口紅。化妝品!全部給清空,她并不知道是怎么就清空了!所以各位大佬,千萬別在下面評論出是我清空的言論啊!咱們都是為了自己好。我把技術(shù)也教給你了!私信我 007 可獲取源碼!

          試驗(yàn)了一個(gè)晚上,python的小爬蟲還是挺可愛的,簡單幾行就可以抓取網(wǎng)頁了。如果你和我一樣是新手,你可以先去http://blog.csdn.net/column/details/why-bug.html了解一下爬蟲和網(wǎng)絡(luò)的基本知識。強(qiáng)調(diào)一下,這個(gè)爬蟲和搜索引擎的爬蟲是有區(qū)別的。搜索引擎的爬蟲是一種對圖的遍歷,沿著超鏈接不斷爬取整個(gè)網(wǎng)絡(luò)。我們的小爬蟲很懶惰,只爬取我們指定的url,下面就是對淘寶實(shí)現(xiàn)模擬登錄。

          代碼不對,整個(gè)的關(guān)鍵就在于post_data,其實(shí)就是把程序模擬成瀏覽器,post_data就是你點(diǎn)擊登錄按鈕時(shí),瀏覽器向服務(wù)器發(fā)送的登錄信息。你可以用瀏覽器打開登錄界面,單擊右鍵選擇查看元素,在下面的頁面代碼上就可以看到兩個(gè)輸入框一個(gè)叫TPL_username一個(gè)叫TPL_password。具體看圖:

          他告訴我們信息發(fā)往何方/memer/login.jhtml,怎樣傳遞參數(shù)post。你想登陸的大部分網(wǎng)頁都是這樣的。剩下的部分就是常規(guī)爬網(wǎng)頁,但是

          opener.addheaders=[('User-agent', 'Mozilla/5.0 (Windows; U; Windows NT 6.1;
           zh-CN; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13')]
          

          是比較重要的,否則會讓你輸入驗(yàn)證碼,這樣就把你的程序模擬成了瀏覽器。接下來就是解碼,淘寶使用的gbk編碼。所以打印的時(shí)需要使用gbk解碼。

          最后介紹一下cookie的使用,我們在一開始先聲明了一個(gè)空的cookie,打印為空。當(dāng)帶著這個(gè)空的cookie登錄后,他就有了數(shù)據(jù)。

          你可以打印看看。其實(shí)最容易爬取的是學(xué)校的選課系統(tǒng),我們學(xué)校的選課系統(tǒng)的cookie就是學(xué)號加上一個(gè)序列號了。


          主站蜘蛛池模板: av无码人妻一区二区三区牛牛| 亚洲AV成人精品日韩一区18p| 亚洲中文字幕丝袜制服一区| 久久高清一区二区三区| 久久精品免费一区二区喷潮| 日本一区精品久久久久影院| 免费看无码自慰一区二区| 精品一区二区三区波多野结衣| 国产精品主播一区二区| 免费国产在线精品一区| 无码日韩AV一区二区三区| 欧美av色香蕉一区二区蜜桃小说 | 中文字幕精品无码一区二区三区| 在线观看精品一区| 一本一道波多野结衣一区| 亚洲一区二区三区在线网站| 久久中文字幕一区二区| 中文人妻无码一区二区三区| 内射女校花一区二区三区| 波多野结衣高清一区二区三区| 一区三区三区不卡| 国产亚洲情侣一区二区无码AV| 福利在线一区二区| 精品伦精品一区二区三区视频 | 一区二区视频免费观看| 无码精品前田一区二区| 国产精品污WWW一区二区三区 | 日本高清天码一区在线播放| 久久精品免费一区二区喷潮| 精品国产一区二区三区久久狼| 精品一区二区三人妻视频| 高清精品一区二区三区一区| 亚洲.国产.欧美一区二区三区| 亚洲精品精华液一区二区| 国产SUV精品一区二区四| 国产一区中文字幕在线观看| 丰满人妻一区二区三区免费视频 | 国产精品分类视频分类一区| 在线观看一区二区三区av| 国产成人一区二区精品非洲| 国产精品无码一区二区在线观一 |