用Python selenium實(shí)現(xiàn)淘寶搶單機(jī)器人
一、痛點(diǎn)
各大電商在一些特定的日子都會(huì)開(kāi)啟促銷活動(dòng),如618、雙十一等,有時(shí)還得盯著時(shí)間搶限量發(fā)售的商品,但你的成功率高嗎?是否經(jīng)常會(huì)遇到App一直加載,刷新后發(fā)現(xiàn)商品被一掃而光了?事實(shí)是,很多和你競(jìng)爭(zhēng)搶購(gòu)商品的對(duì)手比你的手更快更準(zhǔn),因?yàn)樗麄兒芏喽际悄芫珳?zhǔn)執(zhí)行命令的機(jī)器人。
氣不氣?沒(méi)關(guān)系這篇文章將手把手教你零基礎(chǔ)建設(shè)一個(gè)自己的機(jī)器人,幫你在設(shè)定好的時(shí)間自動(dòng)下單,再也不用為搶不到心愛(ài)的寶貝煩惱了!
二、準(zhǔn)備工作
在建設(shè)機(jī)器人之前,請(qǐng)確保你準(zhǔn)備好了如下工具:
- 一臺(tái)電腦:不需要多快多新,能用就行
- Chrome瀏覽器:機(jī)器人將在Chrome上完成自動(dòng)下單的工作
- Python編程環(huán)境:別怕,你不需要會(huì)編程,代碼已經(jīng)幫你寫好了。但你需要安裝一個(gè)軟件能讓它跑起來(lái),所以需要簡(jiǎn)單配置一下python的編程環(huán)境。Windows和Mac用戶,請(qǐng)按照相對(duì)應(yīng)的方式配置。
2.1 "Windows 配置Python"
下列步驟適用于Windows系統(tǒng)。
Anaconda是一個(gè)開(kāi)源的Python發(fā)行版本,集成了Python和眾多科學(xué)包。
- 第一步:下載Anaconda Windows版本的64-Bit Graphical Installer
- 第二步:安裝Anaconda
- 第三步:打開(kāi)Anaconda Navigator,點(diǎn)擊Launch Notebook或JupyterLab
然后你會(huì)看到這樣的畫面:

Jupyter Lab
看到右側(cè)的Notebook區(qū)域,添加一個(gè)Notebook,然后使用下面的代碼打造機(jī)器人!
2.2 "Mac 配置Python"
下列步驟適用于Intel Mac和M1 Mac。
- 第一步:打開(kāi)終端(command + space 激活Spotlight,輸入Terminal)

終端Terminal
- 第二步:輸入
pip3 install jupyter - 第三步:輸入
pip3 install jupyter-lab - 第四步:輸入
jupyter lab
然后你會(huì)看到這樣的畫面:

Jupyter Lab
看到右側(cè)的Notebook區(qū)域,添加一個(gè)Notebook,然后使用下面的代碼打造機(jī)器人!
三、代碼
以下代碼請(qǐng)?jiān)谀銊偛艅?chuàng)建的Notebook中運(yùn)行。
3.1 下載需要的程序包
# Selenium 常用于網(wǎng)頁(yè)的自動(dòng)化測(cè)試,在此我們借助它自動(dòng)化淘寶下單的過(guò)程 !pip install selenium !which python
上面的代碼返回了/opt/anaconda3/bin/python,接下來(lái)就要用到這個(gè)地址。
3.2 下載一個(gè)小配件
- 查看自己Chrome瀏覽器的版本(進(jìn)入
關(guān)于Chrome即可看到軟件版本) - 前往ChromeDriver的官方下載地址下載對(duì)應(yīng)版本的chrome driver后,放在此
/opt/anaconda3/bin文件夾里
from selenium import webdriver import datetime import time
小技巧:這個(gè)時(shí)間可以用來(lái)快速設(shè)定搶購(gòu)時(shí)間
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
print(now)
2021-06-18 00:00:00.000000
3.3 機(jī)器人的零件
def login():
# 打開(kāi)淘寶首頁(yè),通過(guò)掃碼登錄
browser.get("https://www.taobao.com")
if browser.find_element_by_link_text("請(qǐng)登錄"):
browser.find_element_by_link_text("請(qǐng)登錄").click()
print(f"請(qǐng)盡快掃碼登錄")
time.sleep(10)
def picking():
# 打開(kāi)購(gòu)物車列表頁(yè)面
browser.get("https://cart.taobao.com/cart.htm")
time.sleep(3)
# method = 0全選購(gòu)物車
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"找不到購(gòu)買按鈕")
#method = 1 手動(dòng)勾選
else:
print(f"請(qǐng)手動(dòng)勾選需要購(gòu)買的商品")
time.sleep(5)
#等待搶購(gòu)時(shí)間,定時(shí)秒殺,這里我們定義一個(gè)buy函數(shù)
def buy(times):
print(times)
while True:
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
# 對(duì)比時(shí)間,時(shí)間到的話就點(diǎn)擊結(jié)算
if now > times:
# 點(diǎn)擊結(jié)算按鈕
while True:
try:
if browser.find_element_by_link_text("結(jié) 算"):
browser.find_element_by_link_text("結(jié) 算").click()
print(f"結(jié)算成功,準(zhǔn)備提交訂單")
break
except:
pass
# 點(diǎn)擊提交訂單按鈕
while True:
try:
if browser.find_element_by_link_text('提交訂單'):
browser.find_element_by_link_text('提交訂單').click()
print(f"搶購(gòu)成功,請(qǐng)盡快付款")
except:
print(f"再次嘗試提交訂單")
time.sleep(0.01)
3.4 啟動(dòng)機(jī)器人
browser = webdriver.Chrome() login() picking()
3.5 定時(shí)下單
order_time = input("請(qǐng)輸入搶購(gòu)時(shí)間,格式如(2021-06-08 19:30:00.000000):")
請(qǐng)輸入搶購(gòu)時(shí)間,格式如(2021-06-08 19:30:00.000000): 2021-06-08 19:55:00.000000
buy(order_time)
到此這篇關(guān)于用Python selenium實(shí)現(xiàn)淘寶搶單機(jī)器人的文章就介紹到這了,更多相關(guān)Python selenium淘寶搶單內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
CentOS 7下安裝Python 3.5并與Python2.7兼容并存詳解
這篇文章主要給大家介紹了在CentOS 7下安裝Python 3.5并與Python2.7兼容并存的相關(guān)資料,文中將安裝步驟介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07
淺談哪個(gè)Python庫(kù)才最適合做數(shù)據(jù)可視化
數(shù)據(jù)可視化是任何探索性數(shù)據(jù)分析或報(bào)告的關(guān)鍵步驟,目前有許多非常好的商業(yè)智能工具,比如Tableau、googledatastudio和PowerBI等,本文就詳細(xì)的進(jìn)行對(duì)比,感興趣的可以了解一下2021-06-06
pytorch 網(wǎng)絡(luò)參數(shù) weight bias 初始化詳解
這篇文章主要介紹了pytorch 網(wǎng)絡(luò)參數(shù) weight bias 初始化詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
django下創(chuàng)建多個(gè)app并設(shè)置urls方法
在本篇文章里小編給大家分享的是一篇關(guān)于django下創(chuàng)建多個(gè)app并設(shè)置urls方法,需要的朋友們可以參考學(xué)習(xí)下。2020-08-08
python調(diào)用百度語(yǔ)音識(shí)別api
這篇文章主要介紹了python調(diào)用百度語(yǔ)音識(shí)別api,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08

