Python搶購腳本的編寫方法

想買mate40,但總是搶不到,所以想試著能不能寫個腳本代碼。

第一步:把想要搶購的商品加進購物車,註意:腳本是對購物車內全部商品進行下單操作,所以不夠買的商品最好先從購物車內刪除。

第二步:寫好Python腳本,在搶購之前運行,並設置好搶購時間。

Python腳本實現

  • 安裝Python。我安裝的是anaconda
  • 安裝webdriver擴展。它是Selenium模塊的一部分。Selenium是一個用於Web應用程序測試的工具,用於測試你的應用程序看是否能夠很好得工作在不同瀏覽器和操作系統之上。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。所以其實就是安裝Selenium:Win+R,輸入cmd,在命令行中輸入pip show selenium
  • 安裝chrome瀏覽器(因為我用的是谷歌)
  • 安裝chromedriver。它是chrome的插件,是為瞭webDriver能通過操作chromedriver來控制chrome瀏覽器自動操作,如打開網頁,點擊按鈕等操作。

下載地址:

http://chromedriver.storage.googleapis.com/index.html或者https://npm.taobao.org/mirrors/chromedriver/

**註意:下載時要根據電腦系統和chrome瀏覽器版本來選擇對應的chromedriver版本。**可以通過瀏覽器右上角的三點→幫助→關於Google Chrome來查看自己的chrome版本。

下載chromedriver安裝包後,進行解壓,放在chrome安裝的同級目錄下,同時在環境變量PATH中添加路徑。

然後用以下代碼檢驗是否安裝成功:

然鵝,此時我遇到瞭錯誤,如下

於是,我把chromedriver.exe放到瞭我python腳本的文件夾後,就完美解決問題瞭!

【補充】我知道自己為什麼出現上面那個錯誤瞭,因為路徑沒輸入!在下圖所示紅框處輸入自己的下載的chromedriver安裝路徑即可成功運行。

完整的Python腳本代碼如下:

```python
# coding=utf-8
import os
from selenium import webdriver
import datetime
import time
from os import path

#此處chromedriver改為自己下載解壓的chromedriver的路徑
driver = webdriver.Chrome("E:/JupyterNotebookSavePath/chromedriver")
#driver.maximize_window()

def login():
    #打開淘寶首頁,掃碼登陸淘寶
    driver.get("https://www.taobao.com")
    time.sleep(3)
    if driver.find_element_by_link_text("親,請登錄"):
        driver.find_element_by_link_text("親,請登錄").click()
        print("請在15秒內完成掃碼")
        time.sleep(15)
        #打開購物車列表首頁
        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()
    now = datetime.datetime.now()
    print("login success:", now.strftime("%Y-%m-%d %H:%M:%S"))

def buy(times):
    while True:
        #記錄當前時間,使用datatime內置模塊
        now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        print(times)
        print(now)
        # 對比時間,時間到的話就點擊結算
        if now == times:
            try:
                if driver.find_element_by_id("J_Go"):
                    driver.find_element_by_id("J_Go").click()
                    driver.find_element_by_link_text('提交訂單').click()
                    print('搶購成功,請盡快付款')
            except:
                 print('請再次嘗試提交訂單')
        print(now)
        time.sleep(0.1)

if __name__ == "__main__":
    times = input("請輸入搶購時間(例如格式:2021-02-01 00:00:00):")
    login()
    buy(times)

到此這篇關於Python搶購腳本的編寫方法的文章就介紹到這瞭,更多相關Python搶購腳本內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: