python-淘寶秒殺指令碼
python版本 3.7
用到庫
selenium ---用於模擬瀏覽器操作
datetime、time ---用於對比時間
目標:實現輸入時間 商品地址 最後定時完成加入購物車、提交訂單,瞬間進入結算頁面。
首先我們匯入庫
from seleniumimport webdriver import datetime import time
然後建立一個瀏覽器物件
這裡我們用谷歌
driver = webdriver.Chrome()
整體程式碼上我們可以分為兩個函式
1.登入函式
2.購買函式
先通過 get函式進入淘寶頁面
driver.get('http://www.taobao.com')
為了防止出現滑塊驗證 模擬人的操作 我們可以暫停兩秒
time.sleep(2)
找到

Snipaste_2018-11-27_10-42-00.png
然後我們需要點選左上角的 親,請登入
通過 driver.find_element_by_link_text(“”)找到這個區域
注意的是 element後面沒有s 這裡卡了我好久...
之後變回進入掃碼頁面 我們通過手機掃碼完成登入
以下是登入函式的程式碼
def login(): driver.get('http://www.taobao.com') time.sleep(2) if driver.find_element_by_link_text("親,請登入"): driver.find_element_by_link_text("親,請登入").click() print("請在30秒內完成登入") time.sleep(10)
- 購買函式
在這裡我們需要輸入一個搶購網址和搶購時間
為了方便輸入搶購時間 我們可以輸出一個現在的時間
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') print(now)
並且輸入時間的時候一定要注意格式
不然python可能無法正確識別
輸入搶購網址的時候需要在後面按一個空格
在pycharm編輯器中 直接回車會進入網址。
然後我們就會進入到搶購商品的頁面。
然後我們通過一個死迴圈不斷比較當前時間和輸入時間
一旦當前時間 > 輸入時間 就點選購買頁面

Snipaste_2018-11-27_10-42-00.png
同樣 通過老辦法獲取 立即購買的 位置
然後模擬點選
while True: now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') if now > buytime: driver.find_element_by_link_text("立即購買").click() break; time.sleep(0.1)
完成這個迴圈後 我們會進入到提交訂單的頁面
因為 只有當網頁載入完成後才能點選
所以下面我們依然使用一個迴圈
並且在迴圈中使用try 防止報錯
while True: try: if driver.find_element_by_link_text("提交訂單"): driver.find_element_by_link_text("提交訂單").click() except: time.sleep(1)
就是呼叫兩個函式就好啦
if __name__ == "__main__": login() buy()