一、痛點
各大電商在一些特定的日子都會開啟促銷活動,如618、雙十一等,有時還得盯著時間搶限量發(fā)售的商品,但你的成功率高嗎?是否經(jīng)常會遇到App一直加載,刷新后發(fā)現(xiàn)商品被一掃而光了?事實是,很多和你競爭搶購商品的對手比你的手更快更準,因為他們很多都是能精準執(zhí)行命令的機器人
。
氣不氣?沒關(guān)系這篇文章將手把手教你零基礎(chǔ)建設(shè)一個自己的機器人,幫你在設(shè)定好的時間自動下單,再也不用為搶不到心愛的寶貝煩惱了!
二、準備工作
在建設(shè)機器人之前,請確保你準備好了如下工具:
- 一臺電腦:不需要多快多新,能用就行
- Chrome瀏覽器:機器人將在Chrome上完成自動下單的工作
- Python編程環(huán)境:別怕,你不需要會編程,代碼已經(jīng)幫你寫好了。但你需要安裝一個軟件能讓它跑起來,所以需要簡單配置一下python的編程環(huán)境。Windows和Mac用戶,請按照相對應(yīng)的方式配置。
2.1 "Windows 配置Python"
下列步驟適用于Windows系統(tǒng)。
Anaconda是一個開源的Python發(fā)行版本,集成了Python和眾多科學(xué)包。
- 第一步:下載Anaconda Windows版本的64-Bit Graphical Installer
- 第二步:安裝Anaconda
- 第三步:打開Anaconda Navigator,點擊Launch Notebook或JupyterLab
然后你會看到這樣的畫面:
![](/d/20211017/edef28b8b50fa8d41c3e373a8395ef25.gif)
Jupyter Lab
看到右側(cè)的Notebook區(qū)域,添加一個Notebook,然后使用下面的代碼打造機器人!
2.2 "Mac 配置Python"
下列步驟適用于Intel Mac和M1 Mac。
- 第一步:打開終端(command + space 激活Spotlight,輸入Terminal)
![](/d/20211017/1546c3de43a92a5e378333f348d985df.gif)
終端Terminal
- 第二步:輸入
pip3 install jupyter
- 第三步:輸入
pip3 install jupyter-lab
- 第四步:輸入
jupyter lab
然后你會看到這樣的畫面:
![](/d/20211017/edef28b8b50fa8d41c3e373a8395ef25.gif)
Jupyter Lab
看到右側(cè)的Notebook區(qū)域,添加一個Notebook,然后使用下面的代碼打造機器人!
三、代碼
以下代碼請在你剛才創(chuàng)建的Notebook中運行。
3.1 下載需要的程序包
# Selenium 常用于網(wǎng)頁的自動化測試,在此我們借助它自動化淘寶下單的過程
!pip install selenium
!which python
上面的代碼返回了/opt/anaconda3/bin/python,接下來就要用到這個地址。
3.2 下載一個小配件
- 查看自己Chrome瀏覽器的版本(進入
關(guān)于Chrome
即可看到軟件版本)
- 前往ChromeDriver的官方下載地址下載對應(yīng)版本的chrome driver后,放在此
/opt/anaconda3/bin
文件夾里
from selenium import webdriver
import datetime
import time
小技巧:這個時間可以用來快速設(shè)定搶購時間
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函數(shù)
def buy(times):
print(times)
while True:
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
# 對比時間,時間到的話就點擊結(jié)算
if now > times:
# 點擊結(jié)算按鈕
while True:
try:
if browser.find_element_by_link_text("結(jié) 算"):
browser.find_element_by_link_text("結(jié) 算").click()
print(f"結(jié)算成功,準備提交訂單")
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
到此這篇關(guān)于用Python selenium實現(xiàn)淘寶搶單機器人的文章就介紹到這了,更多相關(guān)Python selenium淘寶搶單內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 詳解Python 使用 selenium 進行自動化測試或者協(xié)助日常工作
- Python利用Selenium實現(xiàn)網(wǎng)站自動簽到功能
- Selenium+Python自動化腳本環(huán)境搭建的全過程
- 利用Python+Selenium破解春秋航空網(wǎng)滑塊驗證碼的實戰(zhàn)過程
- python Selenium等待元素出現(xiàn)的具體方法
- Python使用Selenium自動進行百度搜索的實現(xiàn)
- Python中Selenium對Cookie的操作方法
- python+opencv+selenium自動化登錄郵箱并解決滑動驗證的問題
- 教你用Python+selenium搭建自動化測試環(huán)境
- Python selenium的這三種等待方式一定要會!
- Python爬蟲實戰(zhàn)之用selenium爬取某旅游網(wǎng)站
- 教你如何使用Python selenium
- python Web應(yīng)用程序測試selenium庫使用用法詳解