愛鋒貝

 找回密碼
 立即注冊(cè)

只需一步,快速開始

扫一扫,极速登录

查看: 360|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

某寶一鍵秒殺,毫秒級(jí)的精準(zhǔn)度。爬蟲就是這點(diǎn)牛。

[復(fù)制鏈接]

1356

主題

1397

帖子

5663

積分

Rank: 8Rank: 8

跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-8-20 05:54:37 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

一鍵注冊(cè),加入手機(jī)圈

您需要 登錄 才可以下載或查看,沒有帳號(hào)?立即注冊(cè)   

x
?
某寶秒殺,用毫秒級(jí)的精準(zhǔn)度來搶購(gòu)! 前言 還記得前段時(shí)間情人節(jié),各種產(chǎn)品活動(dòng)秒殺。結(jié)果有對(duì)象的辣條自然少不了被對(duì)象一番折磨 (注意:不是new出來的哈,也不是橡膠的,實(shí)實(shí)在在的女朋友) 于是乎徹底激發(fā)了我的求生欲,在這種關(guān)頭我是必須發(fā)揮出自己的才能了,這才有了這篇毫秒級(jí)秒殺的精品出來,話不多說直接進(jìn)入主題


?
目錄? 1,項(xiàng)目環(huán)境
? 2,某寶搶購(gòu)流程分析
? 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)版本與瀏覽器版本要一致!
某寶搶購(gòu)流程分析? 1,登錄網(wǎng)站
? 2,購(gòu)物車選中搶購(gòu)商品
? 3,結(jié)算購(gòu)買
? 4,提交訂單
? 關(guān)鍵:快速完成前面流程,當(dāng)訂單進(jìn)入提交頁面時(shí),付款時(shí)間不影響搶購(gòu)。


?
程序?qū)崿F(xiàn)思路? 購(gòu)物流程都是固定沒有變化的,因此可以把購(gòu)物流程步驟用代碼編輯好交給selenium去自動(dòng)執(zhí)行。
? 項(xiàng)目結(jié)構(gòu):驅(qū)動(dòng)直接復(fù)制放入項(xiàng)目根路徑
1,導(dǎo)入對(duì)應(yīng)類庫實(shí)現(xiàn)對(duì)瀏覽器的操作
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í)行上述代碼,


?瀏覽器會(huì)自動(dòng)打開并顯示如下,證明我們已經(jīng)開始通過代碼操控瀏覽器了。
2,用代碼實(shí)現(xiàn)購(gòu)物流程 2.1 訪問某寶: driver.get('https://www.taobao.com') 1 2.2登錄某寶:


?
if driver.find_element_by_partial_link_text('親,請(qǐng)登錄'): driver.find_element_by_partial_link_text('親,請(qǐng)登錄').click() 1 2 2.3 進(jìn)入購(gòu)物車 #跳轉(zhuǎn)到購(gòu)物車頁面 driver.get('淘寶網(wǎng) - 淘!我喜歡 ') 1 2 2.4 選中所有商品


?
#尋找全選選項(xiàng)并勾選 if driver.find_element_by_id("J_SelectAll1"): driver.find_element_by_id("J_SelectAll1").click() 1 2 3 2.5 對(duì)比時(shí)間,提交結(jié)算(重點(diǎn)) def buy(buy_time): #buy_time 購(gòu)買時(shí)間 while True: now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') print('當(dāng)前時(shí)間:%s'%now)
#判斷是否到達(dá)搶購(gòu)時(shí)間     if now>buy_time:         try:             driver.find_element_by_partial_link_text('結(jié) 算').click()         except:             pass         #對(duì)比時(shí)間,循環(huán)提交訂單     while True:             try:                 if driver.find_element_by_link_text('提交訂單'):                     driver.find_element_by_link_text('提交訂單').click()                     print(f"搶購(gòu)成功,請(qǐng)盡快付款")             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)搶購(gòu)商品啦!


?
print(f"再次嘗試提交訂單")     time.sleep(0.01)


1 2
[外鏈圖片轉(zhuǎn)存中...(img-oA7Q06eg-1648366756452)]
? 這樣就可以通過設(shè)定的段時(shí)間去定時(shí)定點(diǎn)搶購(gòu)商品啦!
?

-----------------------------
精選高品質(zhì)二手iPhone,上愛鋒貝APP
您需要登錄后才可以回帖 登錄 | 立即注冊(cè)   

本版積分規(guī)則

QQ|Archiver|手機(jī)版|小黑屋|愛鋒貝 ( 粵ICP備16041312號(hào)-5 )

GMT+8, 2025-1-17 21:47

Powered by Discuz! X3.4

© 2001-2013 Discuz Team. 技術(shù)支持 by 巔峰設(shè)計(jì).

快速回復(fù) 返回頂部 返回列表