|
一鍵注冊,加入手機(jī)圈
您需要 登錄 才可以下載或查看,沒有帳號?立即注冊
x
?
某寶秒殺,用毫秒級的精準(zhǔn)度來搶購! 前言 還記得前段時(shí)間情人節(jié),各種產(chǎn)品活動(dòng)秒殺。結(jié)果有對象的辣條自然少不了被對象一番折磨 (注意:不是new出來的哈,也不是橡膠的,實(shí)實(shí)在在的女朋友) 于是乎徹底激發(fā)了我的求生欲,在這種關(guān)頭我是必須發(fā)揮出自己的才能了,這才有了這篇毫秒級秒殺的精品出來,話不多說直接進(jìn)入主題
某寶一鍵秒殺,毫秒級的精準(zhǔn)度。爬蟲就是這點(diǎn)牛。-1.jpg (68.45 KB, 下載次數(shù): 14)
下載附件
2022-8-21 21:39 上傳
?
目錄? 1,項(xiàng)目環(huán)境
? 2,某寶搶購流程分析
? 3,程序?qū)崿F(xiàn)思路
? 4,代碼實(shí)踐與梳理
項(xiàng)目環(huán)境? 操作系統(tǒng):Windows 10
? 開發(fā)環(huán)境:python3.7
? IDE:Pycharm
? 自動(dòng)化模塊:Selenium
? 安裝命令:pip install selenium
? 瀏覽器版本:Google Chrome 99.0.4844.51
? 瀏覽器驅(qū)動(dòng)版本:ChromeDriver 99.0.4844.51
? 瀏覽器驅(qū)動(dòng)版本與瀏覽器版本要一致!
某寶搶購流程分析? 1,登錄網(wǎng)站
? 2,購物車選中搶購商品
? 3,結(jié)算購買
? 4,提交訂單
? 關(guān)鍵:快速完成前面流程,當(dāng)訂單進(jìn)入提交頁面時(shí),付款時(shí)間不影響搶購。
某寶一鍵秒殺,毫秒級的精準(zhǔn)度。爬蟲就是這點(diǎn)牛。-2.jpg (50.14 KB, 下載次數(shù): 13)
下載附件
2022-8-21 21:39 上傳
?
程序?qū)崿F(xiàn)思路? 購物流程都是固定沒有變化的,因此可以把購物流程步驟用代碼編輯好交給selenium去自動(dòng)執(zhí)行。
? 項(xiàng)目結(jié)構(gòu):驅(qū)動(dòng)直接復(fù)制放入項(xiàng)目根路徑
1,導(dǎo)入對應(yīng)類庫實(shí)現(xiàn)對瀏覽器的操作
author:辣條
ide: PyCharm
from selenium import webdriver import datetime import time
#自動(dòng)打開瀏覽器并且最大化窗口 driver = webdriver.Chrome() driver.maximize_window() 1 2 3 4 5 6 7 8 9 10? 執(zhí)行上述代碼,
某寶一鍵秒殺,毫秒級的精準(zhǔn)度。爬蟲就是這點(diǎn)牛。-3.jpg (121.39 KB, 下載次數(shù): 13)
下載附件
2022-8-21 21:39 上傳
?瀏覽器會(huì)自動(dòng)打開并顯示如下,證明我們已經(jīng)開始通過代碼操控瀏覽器了。
2,用代碼實(shí)現(xiàn)購物流程 2.1 訪問某寶: driver.get('https://www.taobao.com') 1 2.2登錄某寶:
某寶一鍵秒殺,毫秒級的精準(zhǔn)度。爬蟲就是這點(diǎn)牛。-4.jpg (234.39 KB, 下載次數(shù): 15)
下載附件
2022-8-21 21:39 上傳
?
if driver.find_element_by_partial_link_text('親,請登錄'): driver.find_element_by_partial_link_text('親,請登錄').click() 1 2 2.3 進(jìn)入購物車 #跳轉(zhuǎn)到購物車頁面 driver.get('淘寶網(wǎng) - 淘!我喜歡 ') 1 2 2.4 選中所有商品
某寶一鍵秒殺,毫秒級的精準(zhǔn)度。爬蟲就是這點(diǎn)牛。-5.jpg (40.03 KB, 下載次數(shù): 14)
下載附件
2022-8-21 21:39 上傳
?
#尋找全選選項(xiàng)并勾選 if driver.find_element_by_id("J_SelectAll1"): driver.find_element_by_id("J_SelectAll1").click() 1 2 3 2.5 對比時(shí)間,提交結(jié)算(重點(diǎn)) def buy(buy_time): #buy_time 購買時(shí)間 while True: now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') print('當(dāng)前時(shí)間:%s'%now)
#判斷是否到達(dá)搶購時(shí)間 if now>buy_time: try: driver.find_element_by_partial_link_text('結(jié) 算').click() except: pass #對比時(shí)間,循環(huán)提交訂單 while True: try: if driver.find_element_by_link_text('提交訂單'): driver.find_element_by_link_text('提交訂單').click() print(f"搶購成功,請盡快付款") except: print(f"再次嘗試提交訂單") time.sleep(0.01)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
? 這樣就可以通過設(shè)定的段時(shí)間去定時(shí)定點(diǎn)搶購商品啦!
某寶一鍵秒殺,毫秒級的精準(zhǔn)度。爬蟲就是這點(diǎn)牛。-6.jpg (171.69 KB, 下載次數(shù): 14)
下載附件
2022-8-21 21:39 上傳
?
print(f"再次嘗試提交訂單") time.sleep(0.01)
1 2
[外鏈圖片轉(zhuǎn)存中...(img-oA7Q06eg-1648366756452)]
? 這樣就可以通過設(shè)定的段時(shí)間去定時(shí)定點(diǎn)搶購商品啦!
?
----------------------------- |
|