用Python selenium實現淘寶搶單機器人
一、痛點
各大電商在一些特定的日子都會開啟促銷活動,如618、雙十一等,有時還得盯著時間搶限量發售的商品,但你的成功率高嗎?是否經常會遇到App一直加載,刷新後發現商品被一掃而光瞭?事實是,很多和你競爭搶購商品的對手比你的手更快更準,因為他們很多都是能精準執行命令的機器人
。
氣不氣?沒關系這篇文章將手把手教你零基礎建設一個自己的機器人,幫你在設定好的時間自動下單,再也不用為搶不到心愛的寶貝煩惱瞭!
二、準備工作
在建設機器人之前,請確保你準備好瞭如下工具:
- 一臺電腦:不需要多快多新,能用就行
- Chrome瀏覽器:機器人將在Chrome上完成自動下單的工作
- Python編程環境:別怕,你不需要會編程,代碼已經幫你寫好瞭。但你需要安裝一個軟件能讓它跑起來,所以需要簡單配置一下python的編程環境。Windows和Mac用戶,請按照相對應的方式配置。
2.1 “Windows 配置Python”
下列步驟適用於Windows系統。
Anaconda是一個開源的Python發行版本,集成瞭Python和眾多科學包。
- 第一步:下載Anaconda Windows版本的64-Bit Graphical Installer
- 第二步:安裝Anaconda
- 第三步:打開Anaconda Navigator,點擊Launch Notebook或JupyterLab
然後你會看到這樣的畫面:
Jupyter Lab
看到右側的Notebook區域,添加一個Notebook,然後使用下面的代碼打造機器人!
2.2 “Mac 配置Python”
下列步驟適用於Intel Mac和M1 Mac。
- 第一步:打開終端(command + space 激活Spotlight,輸入Terminal)
終端Terminal
- 第二步:輸入
pip3 install jupyter
- 第三步:輸入
pip3 install jupyter-lab
- 第四步:輸入
jupyter lab
然後你會看到這樣的畫面:
Jupyter Lab
看到右側的Notebook區域,添加一個Notebook,然後使用下面的代碼打造機器人!
三、代碼
以下代碼請在你剛才創建的Notebook中運行。
3.1 下載需要的程序包
# Selenium 常用於網頁的自動化測試,在此我們借助它自動化淘寶下單的過程 !pip install selenium !which python
上面的代碼返回瞭/opt/anaconda3/bin/python,接下來就要用到這個地址。
3.2 下載一個小配件
- 查看自己Chrome瀏覽器的版本(進入
關於Chrome
即可看到軟件版本) - 前往ChromeDriver的官方下載地址下載對應版本的chrome driver後,放在此
/opt/anaconda3/bin
文件夾裡
from selenium import webdriver import datetime import time
小技巧:這個時間可以用來快速設定搶購時間
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') print(now)
2021-06-18 00:00:00.000000
3.3 機器人的零件
def login(): # 打開淘寶首頁,通過掃碼登錄 browser.get("https://www.taobao.com") if browser.find_element_by_link_text("請登錄"): browser.find_element_by_link_text("請登錄").click() print(f"請盡快掃碼登錄") time.sleep(10)
def picking(): # 打開購物車列表頁面 browser.get("https://cart.taobao.com/cart.htm") time.sleep(3) # method = 0全選購物車 method = 0 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"找不到購買按鈕") #method = 1 手動勾選 else: print(f"請手動勾選需要購買的商品") time.sleep(5)
#等待搶購時間,定時秒殺,這裡我們定義一個buy函數 def buy(times): print(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)
3.4 啟動機器人
browser = webdriver.Chrome() login() picking()
3.5 定時下單
order_time = input("請輸入搶購時間,格式如(2021-06-08 19:30:00.000000):")
請輸入搶購時間,格式如(2021-06-08 19:30:00.000000): 2021-06-08 19:55:00.000000
buy(order_time)
到此這篇關於用Python selenium實現淘寶搶單機器人的文章就介紹到這瞭,更多相關Python selenium淘寶搶單內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python+selenium+chrome實現淘寶購物車秒殺自動結算
- python淘寶準點秒殺搶單的實現示例
- Python淘寶或京東等秒殺搶購腳本實現(秒殺腳本)
- 基於Python實現中秋佳節月餅搶購腳本
- Python搶購腳本的編寫方法