利用Python爬蟲實(shí)現(xiàn)搶購(gòu)某寶秒殺商品
前言:
某寶秒殺,用毫秒級(jí)的精準(zhǔn)度來搶購(gòu)!你還在為各種活動(dòng)秒殺 搶不過別人而煩惱嗎?接下來我們就來實(shí)現(xiàn)搶購(gòu)某寶秒殺商品
項(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)類庫(kù)實(shí)現(xiàn)對(duì)瀏覽器的操作
from selenium import webdriver import datetime import time #自動(dòng)打開瀏覽器并且最大化窗口 driver = webdriver.Chrome() driver.maximize_window()
執(zhí)行上述代碼,瀏覽器會(huì)自動(dòng)打開并顯示如下,證明我們已經(jīng)開始通過代碼操控瀏覽器了。
2、用代碼實(shí)現(xiàn)購(gòu)物流程
2.1 訪問某寶
driver.get('https://www.taobao.com')
2.2登錄某寶
if driver.find_element_by_partial_link_text('親,請(qǐng)登錄'): ? ? ? ? driver.find_element_by_partial_link_text('親,請(qǐng)登錄').click()
2.3 進(jìn)入購(gòu)物車
#跳轉(zhuǎn)到購(gòu)物車頁面 driver.get('https://cart.taobao.com/cart.htm')
2.4 選中所有商品
#尋找全選選項(xiàng)并勾選 if driver.find_element_by_id("J_SelectAll1"): ? ? ? driver.find_element_by_id("J_SelectAll1").click()
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)
這樣就可以通過設(shè)定的段時(shí)間去定時(shí)定點(diǎn)搶購(gòu)商品啦!
print(f"再次嘗試提交訂單") ? ? ? ? time.sleep(0.01) ? ?**這樣就可以通過設(shè)定的段時(shí)間去定時(shí)定點(diǎn)搶購(gòu)商品啦!**
到此這篇關(guān)于利用Python爬蟲實(shí)現(xiàn)搶購(gòu)某寶秒殺商品的文章就介紹到這了,更多相關(guān)Python 秒殺商品內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu16.04 安裝多個(gè)python版本的問題及解決方法
Ubuntu16.04自帶python2.7與python3.5,Ubuntu 官方 apt 庫(kù)中還未收錄 python 3.8,因此添加 deadsnakes PPA 源安裝python3.8,否則會(huì)出現(xiàn)報(bào)錯(cuò),接下來通過本文給大家介紹Ubuntu16.04 安裝python的問題,一起看看吧2021-09-09Python協(xié)程的實(shí)現(xiàn)方式小結(jié)
協(xié)程是Python中強(qiáng)大的并發(fā)編程工具,允許開發(fā)者編寫異步代碼以提高程序的性能和效率,在本文中,我們將深入探討Python中協(xié)程的實(shí)現(xiàn)方式,包括生成器、asyncio庫(kù)和async/await關(guān)鍵字,我們還會(huì)提供詳細(xì)的示例代碼,幫助您理解和應(yīng)用協(xié)程,需要的朋友可以參考下2023-11-11pyqt5 使用setStyleSheet設(shè)置單元格的邊框樣式操作
這篇文章主要介紹了pyqt5 使用setStyleSheet設(shè)置單元格的邊框樣式操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03Async?IO在Python中的異步編程工作實(shí)例解析
這篇文章主要為大家介紹了Async?IO在Python中的異步編程工作實(shí)例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Python爬蟲實(shí)現(xiàn)模擬點(diǎn)擊動(dòng)態(tài)頁面
這篇文章主要介紹了Python爬蟲實(shí)現(xiàn)模擬點(diǎn)擊動(dòng)態(tài)頁面,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Kears 使用:通過回調(diào)函數(shù)保存最佳準(zhǔn)確率下的模型操作
這篇文章主要介紹了Kears 使用:通過回調(diào)函數(shù)保存最佳準(zhǔn)確率下的模型操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06