淘寶自動登錄2.0瓮具,新增Cookies序列化

前段時間時間為大家講解了如何使用requests庫模擬登錄淘寶荧飞,而今天我們將對該功能進行豐富。所以我們把之前的那個版本定為1.0名党,而今天修改的版本定為2.0叹阔。版本的地跌意味著功能的升級,那今天的2.0版本較之前的1.0版本有哪些改進呢传睹?我們一起來看看耳幢!

一、1.0版本實現(xiàn)步驟

我們先來回顧一下模擬登錄淘寶的步驟吧欧啤,我們還是先看看淘寶登錄的詳細時序圖:


在這里插入圖片描述

這是淘寶網(wǎng)登錄的一個請求流程睛藻,而我們模擬登錄也是根據(jù)這樣的一個流程。但是在代碼模擬登錄的時候就不會分的這么細邢隧,我們根據(jù)封裝的思想將整個登錄流程封裝在四個方法里面店印,可以看看下圖。


在這里插入圖片描述

為了便于大家理解四步登錄法倒慧,豬哥又畫了一個流程圖給大家看看

在這里插入圖片描述

結合流程圖按摘,給大家簡單 的 再講解一遍這四步具體做了啥:

  1. 拿著用戶名向淘寶(taobao.com)發(fā)起一個post的請求,判斷是否出現(xiàn)滑塊驗證纫谅。
  2. 向淘寶(taobao.com)又發(fā)起一個post請求炫贤,驗證用戶名密碼是否正確,如果正確則返回一個token付秕。
  3. 拿著token去阿里巴巴(alibaba.com)交換st碼兰珍。
  4. 獲取st碼之后,拿著st碼獲取cookies盹牧,登錄成功俩垃。

在面試的 時候也許面試官會問你是否爬取或自動登錄過淘寶,流程是怎么的汰寓?大家 就這個把這個四步登錄法講給面試官聽 ,面試官不僅不會你的技術認可苹粟,也為夸張你的邏輯思維縝密有滑!

二、2.0版本新增功能

為什么要做2.0版本嵌削?因為豬哥在做爬取淘寶商品的時候發(fā)現(xiàn)之前登錄有一個很不方便的 地方:每次程序運行完后毛好,登錄的cookies就沒了望艺,也就是說下次又要重新登錄。

而瀏覽器卻可以保存cookies信息肌访,所以豬哥自然的想到了:將cookies序列化找默。

序列化 (Serialization)是將對象的狀態(tài)信息轉換為可以存儲或傳輸?shù)男问降倪^程『鹗唬——百度百科

簡單說序列化就是將對象持久性保存起來惩激,因為原來對象是在內(nèi)存中,程序運行完了就要釋放內(nèi)存蟹演,所有的對象风钻、變量等都會被清除,而序列化則可以把他們保存到文件酒请。即使程序關閉了骡技,下次啟動的時候可以讀取文件到內(nèi)存轉回對象繼續(xù)使用,而這個過程叫反序列化羞反。

所以我們2.0的功能就是:將登錄后的cookies保存到文件中布朦,下次再登錄先從cookies文件讀取!也就是增加了一個保存cookies 的功能昼窗,我們再看看2.0的流程圖喝滞。

在這里插入圖片描述

與1.0的流程圖相比,其實就多了左邊的cookies文件和cookies文件的校驗膏秫,這也就是我們今天要講的內(nèi)容右遭!

別看只是增加了一點點功能,卻意義重大:因為這是一個 授人予漁的功能缤削,你學會之后其他所有的登錄都可以做序列化保存cookies窘哈,而且還可以做cookies池!

三亭敢、2.0版本新功能實現(xiàn)

根據(jù)上面的流程圖滚婉,我們可以簡單的分析量化一下增加的保存cookies這個共功能:

  1. 保存cookies:增加一個方法,當使用st碼登錄成功后帅刀,用來將cookies對象轉化為文件
  2. 讀取cookies:增加一個方法让腹,用來讀取cookies文件,將它轉化為cookies對象
  3. 檢查cookies:增加一個方法扣溺,用來判斷cookies是否失效骇窍,如果失效則刪除cookies文件,如果有效則直接登錄成功锥余!

根據(jù)以上三步腹纳,我們就可以開始擼代碼了

1.保存cookies

保存cookies其實就叫序列化,我們先來看看代碼:


在這里插入圖片描述

我們先獲取cookies,然后再轉為dict對象嘲恍,最后將dict轉化為json對象保存起來足画!

2.讀取cookies

讀取cookies就是將文件轉轉化為cookies對象,這一步叫反序列化佃牛,直接上代碼:


在這里插入圖片描述

其實反序列化就是與序列化的步驟相反淹辞,先將文件轉化為dict對象,然后再轉化為cookies對象俘侠,最后賦值給Session對象象缀!

3.檢查cookies

這一步我們需要先判斷cookies文件是否存在,如果存在則讀取cookies兼贡,之后再訪問淘寶主頁看看是否能成功攻冷,如果失敗則說明cookies已過期,我們就刪除cookies文件遍希。


在這里插入圖片描述

四等曼、重構代碼

功能點實現(xiàn)之后我們看看怎么重構代碼,根據(jù)流程圖凿蒜,我們需要在方法開頭增加加載cookies的功能禁谦,再最后登錄成功的時候增加保存cookies的方法,所以改動只有兩處废封!


在這里插入圖片描述

五州泊、功能測試

在我們實際開發(fā)工作中 ,測試是一項非常重要的步驟漂洋。一般開發(fā)都需要先自測遥皂,如果不自測就直接提測的話,測試測出bug你不僅會被懟被鄙視有些公司還會影響你的kpi刽漂。

我們來說說序列化cookies功能自測的流程吧:

  1. 首先我們登錄演训,看看登錄成功會不會將cookies保存為文件,這一步是測試序列化
  2. 然后我們再登錄一次贝咙,根據(jù)打印信息样悟,看看是不是直接讀取cookies文件登錄的,這一步測試反序列化
  3. 最后我們測試當cookies過期之后庭猩,會不會刪除cookies文件窟她,然后使用用戶名密碼登錄,最后保存新的cookies文件

1.測試正常登錄

第一次登錄是沒有cookies文件的蔼水,所以正常使用用戶名和密碼登錄震糖,登錄成功后保存cookies文件。


在這里插入圖片描述

2.測試加載cookies登錄

再正常登錄之后徙缴,保存了cookeis文件试伙,這里我們要測試是否能成功加載文件中的cookies嘁信。


在這里插入圖片描述

3.測試cookies過期

大家都知道cookies都會有一個過期時間于样,而經(jīng)過豬哥測試淘寶登錄的過期時間為xx分鐘疏叨!cookies過期之后我們需要重新登錄然后重新保存cookeis文件。

在這里插入圖片描述

至此所有的功能點 已經(jīng)自測完畢穿剖,這時候就可以提測給測試人員蚤蔓,而測試人員測試通過之后,便可以上預發(fā)環(huán)境測試糊余,預發(fā)測試通過之后才是正式環(huán)境秀又!

現(xiàn)在一般的小功能都在白天發(fā)布了,而比較大的改版還是會安排在深夜贬芥,用戶少的時候吐辙!

六、總結

今天我們學習了如何保存登錄信息蘸劈,下期豬哥將會教大家如何爬取淘寶商品信息并做數(shù)據(jù)分析昏苏,還是挺有意思的,期待吧威沫!

看到很多同學會在學習群里交流一些豬哥以前寫的案例贤惯,感覺自己做的這些教程有意義,看到大家在學習棒掠,豬哥心里超開心孵构!

獲取淘寶自動登錄源碼,請關注vx公眾號「裸睡的豬」回復 淘寶登錄

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末烟很,一起剝皮案震驚了整個濱河市颈墅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌雾袱,老刑警劉巖恤筛,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谜酒,居然都是意外死亡叹俏,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門僻族,熙熙樓的掌柜王于貴愁眉苦臉地迎上來粘驰,“玉大人,你說我怎么就攤上這事述么◎蚴” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵度秘,是天一觀的道長顶伞。 經(jīng)常有香客問我饵撑,道長,這世上最難降的妖魔是什么唆貌? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任滑潘,我火速辦了婚禮,結果婚禮上锨咙,老公的妹妹穿的比我還像新娘语卤。我一直安慰自己,他們只是感情好酪刀,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布粹舵。 她就那樣靜靜地躺著,像睡著了一般骂倘。 火紅的嫁衣襯著肌膚如雪眼滤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天历涝,我揣著相機與錄音诅需,去河邊找鬼。 笑死睬关,一個胖子當著我的面吹牛诱担,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播电爹,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼蔫仙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了丐箩?” 一聲冷哼從身側響起摇邦,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤途事,失蹤者是張志新(化名)和其女友劉穎尸闸,沒想到半個月后歌殃,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體响蓉,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年夫嗓,在試婚紗的時候發(fā)現(xiàn)自己被綠了裹唆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片究珊。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡瓤摧,死狀恐怖竿裂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情照弥,我是刑警寧澤腻异,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站这揣,受9級特大地震影響影斑,放射性物質發(fā)生泄漏机打。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一吏垮、第九天 我趴在偏房一處隱蔽的房頂上張望罐旗。 院中可真熱鬧唯蝶,春花似錦、人聲如沸鼓蜒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至框杜,卻和暖如春袖肥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背椎组。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工寸癌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人仁堪。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓填渠,卻偏偏與公主長得像鸟辅,于是被迫代替她去往敵國和親匪凉。 傳聞我的和親對象是個殘疾皇子再层,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容

  • JAVA序列化機制的深入研究 對象序列化的最主要的用處就是在傳遞,和保存對象(object)的時候,保證對象的完整...
    時待吾閱讀 10,842評論 0 24
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,093評論 1 32
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,374評論 0 5
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 5,729評論 0 10
  • 春日遲遲蛋济,不慍不火碗旅,絲絲柔情,如披薄薄暖紗祟辟,朦朧而甜膩侣肄。亂花漸欲,春心蠢蠢叮喳,一種萌動的欲望和沖動缰贝,...
    昱君文化心理閱讀 676評論 16 25