用Python完成毫秒級搶單,助你秒殺淘寶大單

目錄:html

  1. 引言
  2. 環境
  3. 需求分析&前期準備
  4. 淘寶購物流程回顧
  5. 秒殺的實現
  6. 代碼梳理
  7. 總結

0 引言

年中購物618大狂歡開始了,各大電商又開始了大力度的折扣促銷,咱們的小胖又給你們謀了一波福利,淘寶APP直接搜索:小胖發福利,天天領取三次粉絲專屬現金大紅包。python

有了現金大紅包,如何作到更省錢的剁手呢?今天給你們提供一種思路,用Python實現秒殺訂單,借用自動化方式完成最優解。web

1 環境

操做系統:Windowschrome

Python版本:3.7.2api

2 需求分析&前期準備

2.0 需求分析

咱們的目標是秒殺淘寶的訂單,這裏面有幾個關鍵點,首先須要登陸淘寶,其次你須要準備好訂單,最後要在指定時間快速提交訂單。瀏覽器

登陸淘寶,這裏就要用到一個爬蟲利器Selenium,它是一個自動化測試工具,利用它咱們能夠驅動瀏覽器執行特定的動做,如點擊、下拉等等操做,所見即所得。另外對於一些 JavaScript 渲染的頁面來講,此種抓取方式很是有效。函數

2.1 Selenium的安裝

Selenium 的安裝很簡單,可採用以下方式。工具

pip install selenium測試

Selenium安裝好以後,並不能直接使用,它須要與瀏覽器進行對接。這裏拿Chrome瀏覽器爲例。若想使用Selenium成功調用Chrome瀏覽器完成相應的操做,須要經過ChromeDriver來驅動。網站

2.2 ChromeDriver的安裝

這裏是ChromeDriver的官方下載地址。

連接:

https://chromedriver.storage.googleapis.com/index.html

咱們在下載以前先來確認下咱們使用的Chrome瀏覽器版本。

在這裏插入圖片描述

經過ChromeDriver的下載連接,找到與之對應的Chrome瀏覽器版本,根據你電腦系統的平臺類型進行下載。

在這裏插入圖片描述
在這裏插入圖片描述

下載完成以後,解壓,將其放置在Python安裝路徑下Scripts文件夾中便可

在這裏插入圖片描述

上述操做結束後,咱們執行以下命令,測試一下

from selenium import webdriver # 打開Chrome瀏覽器 browser = webdriver.Chrome()

代碼執行後,若成功打開了瀏覽器,則證實你的ChromeDriver安裝的沒問題,能夠正常愉快地使用Selenium了。

接下來,咱們先來回顧下淘寶購物流程。

3 淘寶購物流程回顧

3.1 首先要打開淘寶網站

https://www.taobao.com

換做使用Seleuinm方式,代碼以下:

browser.get("https://www.taobao.com")

3.2 咱們登陸淘寶才能進行下一步操做

在這裏插入圖片描述
換成Seleuinm方式,代碼:

browser.find_element_by_link_text("親,請登陸").click()

這時咱們就要就跳到了一個掃碼登陸的頁面,咱們用手機進行掃碼,登陸成功以後進行下一步。

3.3 登陸成功以後,咱們來打開購物車,連接以下:

https://cart.taobao.com/cart.htm

換成Seleuinm方式,代碼:

browser.get("https://cart.taobao.com/cart.htm")

3.4 咱們想要全選購物車中的商品,直接點擊全選便可

在這裏插入圖片描述

換成Seleuinm方式,代碼:

browser.find_element_by_id("J_SelectAll1").click()

注:若你的購物車商品比較多,又不想全選購買,那就 手動 勾選想要下單的商品。

3.5 勾選好商品後就能夠「結算」下單

在這裏插入圖片描述

換成Seleuinm方式,代碼即:

browser.find_element_by_link_text("結 算").click()

3.6 等待提交完訂單後纔算數

在這裏插入圖片描述

換成Seleuinm方式,代碼即:

browser.find_element_by_link_text('提交訂單').click()

3.7 訂單成功秒下以後,接下來的付款,慢慢來就好。

在這裏插入圖片描述

4 秒殺的實現

秒殺的實現,思路也很簡單。這裏有兩個時間點,一是搶購時間,一是當前時間。只須要比較這兩個時間點,到了搶購時間當即下單便可。

記錄時間,須要使用datetime這個內置模塊,代碼以下:

import datetime now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')

5 代碼梳理

首先得登陸淘寶,這裏咱們定義一個login函數

def login(): # 打開淘寶首頁,經過掃碼登陸 browser.get("https://www.taobao.com") time.sleep(3) if browser.find_element_by_link_text("親,請登陸"): browser.find_element_by_link_text("親,請登陸").click() print(f"請儘快掃碼登陸") time.sleep(10)

接下來就是勾選購物車中的商品,這裏咱們定義一個picking函數

def picking(method): # 打開購物車列表頁面 browser.get("https://cart.taobao.com/cart.htm") time.sleep(3) # 是否全選購物車 if method == 0: while True: try: if browser.find_element_by_id("J_SelectAll1"): browser.find_element_by_id("J_SelectAll1").click() break except: print(f"找不到購買按鈕") else: print(f"請手動勾選須要購買的商品") time.sleep(5)

等待搶購時間,定時秒殺,這裏咱們定義一個buy函數

def buy(times): while True: now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') # 對比時間,時間到的話就點擊結算 if now > times: # 點擊結算按鈕 while True: try: if browser.find_element_by_link_text("結 算"): browser.find_element_by_link_text("結 算").click() print(f"結算成功,準備提交訂單") break except: pass # 點擊提交訂單按鈕 while True: try: if browser.find_element_by_link_text('提交訂單'): browser.find_element_by_link_text('提交訂單').click() print(f"搶購成功,請儘快付款") except: print(f"再次嘗試提交訂單") time.sleep(0.01)

6 總結

短短几十行代碼就能秒殺淘寶訂單,趕忙行動起來吧!記着,天天在淘寶上搜索小胖發福利,領取粉專屬福利喲~

源碼獲取方式,關注公總號RaoRao1994,查看往期精彩-全部文章,便可獲取資源下載連接

更多資源獲取,請關注公總號RaoRao1994

相關文章
相關標籤/搜索