首頁 > 軟體

Python編寫淘寶秒殺指令碼

2022-02-08 13:01:49

最近想搶冰墩墩的手辦和鑰匙圈,但是同志們搶的速度太快了,無奈,還是自己寫指令碼吧。

新增火狐瀏覽器外掛

Omnibug是一個外掛,可以簡化web度量實現的開發。檢查每個傳出請求(由瀏覽器傳送)的模式;如果出現匹配,URL將顯示在開發人員工具面板中,並進行解碼以顯示請求的詳細資訊。

在火狐瀏覽器的外掛中直接搜尋、下載即可

安裝geckodriver

在python中使用selenium爬取動態渲染網頁,這個過程之中需要安裝瀏覽器驅動geckodriver

geckodriver github連結

將下載後到的檔案解壓,將geckodriver.exe放入火狐瀏覽器的安裝目錄中

將火狐瀏覽器的目錄地址,寫入環境變數中

python程式碼

from selenium import webdriver
import datetime
import time

# 啟動火狐瀏覽器的驅動器
driver = webdriver.Firefox()
# 最大化瀏覽器
driver.maximize_window()

# 傳入使用者名稱密碼,登入淘寶
def login():
    # 開啟淘寶
    driver.get("https://www.taobao.com")

    # 查詢文字,登入
    if driver.find_element_by_link_text("親,請登入"):
        driver.find_element_by_link_text("親,請登入").click()

    print("請在30秒內完成掃碼")
    time.sleep(30)

    driver.get("https://cart.taobao.com/cart.htm")
    time.sleep(3)

    # 點選購物車裡全選按鈕
    if driver.find_element_by_id("J_SelectAll1"):
        driver.find_element_by_id("J_SelectAll1").click()
    time.sleep(3)
    now = datetime.datetime.now()
    print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))


def buy(buytime):
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        if now == buytime:
            try:
                # 點選結算按鈕
                if driver.find_element_by_id("J_Go"):
                    driver.find_element_by_id("J_Go").click()
                driver.find_element_by_link_text('提交訂單').click()
            except:
                time.sleep(1)
        print(now)
        time.sleep(1)


if __name__ == "__main__":
    # 登入
    login()
    # 設定搶購時間
    buy('2022-02-07 16:00:00')

程式碼整體思路

首先開啟淘寶主頁,通過文字“親,請登入”,查詢到登入連結,存取登入連結,掃碼完成登入,掃碼時間為30秒。這裡有個問題,本來是打算用賬號密碼登入的,但是在測試過程中用賬號密碼登入多了就需要驗證,目前無法用程式碼實現驗證。

登入之後,存取購物車,全選,然後購買,提交訂單即可。

使用方法

將需要搶購的商品放入購物車,設定搶購時間,使用時需保證購物車中只有需要搶購的商品。

到此這篇關於Python編寫淘寶秒殺指令碼的文章就介紹到這了,更多相關Python淘寶秒殺內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com