最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 自動登錄淘寶并保存登錄信息的方法

 更新時間:2019年09月04日 09:19:09   作者:CSDN資訊  
這篇文章主要介紹了Python 自動登錄淘寶并保存登錄信息的方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下

前段時間時間為大家講解了如何使用requests庫模擬登錄淘寶,而今天我們將對該功能進(jìn)行豐富。所以我們把之前的那個版本定為1.0,而今天修改的版本定為2.0。版本的迭代意味著功能的升級,那今天的2.0版本較之前的1.0版本有哪些改進(jìn)呢?我們一起來看看!

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

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

640?wx_fmt=png

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

640?wx_fmt=png

為了便于大家理解四步登錄法,我又畫了一個流程圖給大家看看:

640?wx_fmt=png

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

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

在面試的時候也許面試官會問你是否爬取或自動登錄過淘寶,流程是怎么的?大家就這個把這個四步登錄法講給面試官聽 ,面試官不僅不會你的技術(shù)認(rèn)可,也為認(rèn)可你的邏輯思維縝密!

2.0版本新增功能

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

而瀏覽器卻可以保存cookies信息,所以我自然地想到了:將cookies序列化。

序列化 (Serialization)是將對象的狀態(tài)信息轉(zhuǎn)換為可以存儲或傳輸?shù)男问降倪^程?!俣劝倏?/p>

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

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

640?wx_fmt=png

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

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

2.0版本新功能實現(xiàn)

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

保存cookies:增加一個方法,當(dāng)使用st碼登錄成功后,用來將cookies對象轉(zhuǎn)化為文件

讀取cookies:增加一個方法,用來讀取cookies文件,將它轉(zhuǎn)化為cookies對象

檢查cookies:增加一個方法,用來判斷cookies是否失效,如果失效則刪除cookies文件,如果有效則直接登錄成功!

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

1.保存cookies

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


640?wx_fmt=png

我們先獲取cookies,然后再轉(zhuǎn)為dict對象,最后將dict轉(zhuǎn)化為JSON對象保存起來!

2.讀取cookies

讀取cookies就是將文件轉(zhuǎn)轉(zhuǎn)化為cookies對象,這一步叫反序列化,直接上代碼:

640?wx_fmt=jpeg

其實反序列化就是與序列化的步驟相反,先將文件轉(zhuǎn)化為dict對象,然后再轉(zhuǎn)化為cookies對象,最后賦值給Session對象!

3.檢查cookies

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

640?wx_fmt=jpeg

重構(gòu)代碼

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

640?wx_fmt=jpeg

功能測試

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

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

首先我們登錄,看看登錄成功會不會將cookies保存為文件,這一步是測試序列化;

然后我們再登錄一次,根據(jù)打印信息,看看是不是直接讀取cookies文件登錄的,這一步測試反序列化;

最后我們測試當(dāng)cookies過期之后,會不會刪除cookies文件,然后使用用戶名密碼登錄,最后保存新的cookies文件。

1.測試正常登錄

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

640?wx_fmt=png

2.測試加載cookies登錄

在正常登錄之后,保存了cookeis文件,這里我們要測試是否能成功加載文件中的cookies:

3.測試cookies過期

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

640?wx_fmt=jpeg

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

現(xiàn)在很多公司發(fā)布策略都是:小功能都在白天發(fā)布了,而比較大的改版還是會安排在深夜,用戶少的時候!

總結(jié)

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

看到很多同學(xué)會在學(xué)習(xí)群里交流一些以前寫的案例,感覺自己做的這些教程有意義,看到大家在學(xué)習(xí),我心里超開心。

源碼:https://github.com/pig6/login_taobao

以上所述是小編給大家介紹的使用Python 自動登錄淘寶并保存登錄信息的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • python打包pyinstall的實現(xiàn)步驟

    python打包pyinstall的實現(xiàn)步驟

    PyInstaller可將Python代碼打包成單個可執(zhí)行文件,本文主要介紹了python打包pyinstall的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • PyQt QMainWindow的使用示例

    PyQt QMainWindow的使用示例

    這篇文章主要介紹了PyQt QMainWindow的使用示例,幫助大家更好的理解和學(xué)習(xí)使用pyqt,感興趣的朋友可以了解下
    2021-03-03
  • python判斷集合的超集方法及實例

    python判斷集合的超集方法及實例

    在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于python判斷集合的超集方法及實例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-05-05
  • 十條建議幫你提高Python編程效率

    十條建議幫你提高Python編程效率

    這篇文章主要為大家介紹了十條建議,可以幫你提高Python編程效率的10條,想要提升提高Python編程效率的朋友不要錯過
    2016-02-02
  • python實現(xiàn)內(nèi)存監(jiān)控系統(tǒng)

    python實現(xiàn)內(nèi)存監(jiān)控系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)內(nèi)存監(jiān)控系統(tǒng),通過系統(tǒng)命令或操作系統(tǒng)文件獲取到內(nèi)存信息,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 利用python GDAL庫讀寫geotiff格式的遙感影像方法

    利用python GDAL庫讀寫geotiff格式的遙感影像方法

    今天小編就為大家分享一篇利用python GDAL庫讀寫geotiff格式的遙感影像方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Django?后端數(shù)據(jù)傳給前端的實現(xiàn)示例

    Django?后端數(shù)據(jù)傳給前端的實現(xiàn)示例

    本文主要介紹了Django?后端數(shù)據(jù)傳給前端的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • python 微信好友特征數(shù)據(jù)分析及可視化

    python 微信好友特征數(shù)據(jù)分析及可視化

    這篇文章主要介紹了python 微信好友特征數(shù)據(jù)分析及可視化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Python參數(shù)傳遞對象的引用原理解析

    Python參數(shù)傳遞對象的引用原理解析

    這篇文章主要介紹了Python參數(shù)傳遞對象的引用原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Python sort 自定義函數(shù)排序問題

    Python sort 自定義函數(shù)排序問題

    這篇文章主要介紹了Python sort 自定義函數(shù)排序問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評論

岳阳县| 柘城县| 民权县| 太白县| 盐池县| 苗栗县| 特克斯县| 灵武市| 宜宾县| 修武县| 常州市| 崇礼县| 鞍山市| 莱西市| 芮城县| 深圳市| 温宿县| 多伦县| 江安县| 云南省| 元谋县| 饶平县| 鄂托克旗| 荥阳市| 宾川县| 双流县| 新闻| 上高县| 清涧县| 封开县| 大埔县| 长垣县| 宜春市| 南和县| 北票市| 彭泽县| 嘉鱼县| 宜州市| 荔浦县| 中方县| 沾化县|