Python使用Selenium實現(xiàn)淘寶搶單的流程分析
最近,小明為了達成小姐姐的愿望,在某寶買到心儀的寶貝,再加上又迷上了python,就通過python輕而易舉地實現(xiàn)了(個人聲明:對Java來說,這并不是背叛)。
需求分析&前期準備
需求其實很簡單,正常購物。那我們平常的購物流程如下所示:

開始之前,我們需要準備一下程序運行環(huán)境。
- 環(huán)境系統(tǒng):Windows/Mac OS
- Python版本:3.7.2
為了讓程序模擬我們每一步操作,給大家介紹一個利器:Selenium
Selenium測試同學(xué)應(yīng)該會感覺特別親切。它是一個自動化測試工具,通過它我們可以驅(qū)動瀏覽器執(zhí)行特定的動作,如點擊、下拉等等操作,所見即所得。
Selenium的安裝
運行如下命令:
pip install selenium
但若想使用Selenium成功調(diào)用Chrome瀏覽器完成相應(yīng)的操作,我們還需要一個媒介與瀏覽器對接。小明本次使用的是Chrome瀏覽器,因此就需要通過ChromeDriver來驅(qū)動。
ChromeDriver的安裝
這里是谷歌瀏覽器ChromeDriver的官方下載地址:
https://chromedriver.storage.googleapis.com/index.html
我們需要根據(jù)自己的Chrome瀏覽器版本,找到相應(yīng)版本的ChromeDriver,再根據(jù)你電腦系統(tǒng)的平臺類型進行下載、解壓。
- windows:將其放置在Python安裝路徑下
Scripts文件夾下 - Mac OS:將其放置在
/usr/local/bin下
環(huán)境配置到此結(jié)束,小明編寫了一個python腳本,用來驗證環(huán)境搭建是否成功:
from selenium import webdriver # 打開Chrome瀏覽器 if __name__ == '__main__': browser = webdriver.Chrome()
運行代碼后,如果成功打開了一個新的瀏覽器,就證明我們的環(huán)境安裝的沒問題,接下來就可以愉快的購物了。
腳本編寫
對比上面淘寶購物流程圖,對應(yīng)代碼如下:
打開淘寶網(wǎng)站
登錄
首先是跳轉(zhuǎn)到登陸頁
browser.find_element_by_link_text("親,請登錄").click()
登錄方式選擇二維碼
browser.find_element_by_class_name("icon-qrcode").click()
用手機進行掃碼成功之后進行下一步。
登錄成功后,打開購物車
勾選商品
browser.find_element_by_id("J_SelectAll1").click()
推薦選擇全選,但如果你的購物車商品比較多,又不想全選購買,那就暫先手動勾選想要下單的商品😅。
結(jié)算
browser.find_element_by_link_text("結(jié) 算").click()
提交訂單
browser.find_element_by_link_text('提交訂單').click()
只要下單成功,接下來的付款,不用著急,只要在規(guī)定的時間內(nèi)支付就好。
以上就是完整購物的流程。那秒殺是如何實現(xiàn)呢?
秒殺的實現(xiàn)
思路其實很簡單,就是在正常購物的基礎(chǔ)上增加一個時間的判斷:如果當(dāng)前時間到了指定的時間點,就觸發(fā)下單。
獲取當(dāng)前時間,需要使用到datetime這個內(nèi)置模塊,代碼如下:
import datetime
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
代碼梳理
- 定義一個login函數(shù),用來登錄
- 定義一個picking函數(shù)勾選購物車中的商品
- 定義一個buy函數(shù)等待搶購時間,定時秒殺
完整代碼請點擊訪問我的github
推薦文檔
Selenium-Python中文文檔
今晚可以不加班!
到此這篇關(guān)于Python使用Selenium實現(xiàn)淘寶搶單的文章就介紹到這了,更多相關(guān)Python實現(xiàn)淘寶搶單內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用Python從0開始實現(xiàn)一個中文拼音輸入法的思路詳解
中文輸入法是一個歷史悠久的問題,但也實在是個繁瑣的活,不知道這是不是網(wǎng)上很少有人分享中文拼音輸入法的原因,接下來通過本文給大家分享使用Python從0開始實現(xiàn)一個中文拼音輸入法,需要的朋友可以參考下2019-07-07
Python3調(diào)用百度AI識別圖片中的文字功能示例【測試可用】
這篇文章主要介紹了Python3調(diào)用百度AI識別圖片中的文字功能,結(jié)合實例形式分析了Python3安裝及使用百度AI接口的相關(guān)操作技巧,并附帶說明了百度官方AI平臺的注冊及接口調(diào)用操作方法,需要的朋友可以參考下2019-03-03
keras load model時出現(xiàn)Missing Layer錯誤的解決方式
這篇文章主要介紹了keras load model時出現(xiàn)Missing Layer錯誤的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
python利用platform模塊獲取系統(tǒng)信息
這篇文章主要介紹了python利用platform模塊獲取系統(tǒng)信息,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-10-10
python selenium實現(xiàn)智聯(lián)招聘數(shù)據(jù)爬取
這篇文章主要介紹了python selenium實現(xiàn)智聯(lián)招聘數(shù)據(jù)爬取,需要的朋友可以參考下2021-04-04
動態(tài)設(shè)置django的model field的默認值操作步驟
這篇文章主要介紹了動態(tài)設(shè)置django的model field的默認值操作步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03

