溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Python selenium實(shí)現(xiàn)淘寶搶單機(jī)器人

發(fā)布時(shí)間:2021-06-21 10:55:23 來源:億速云 閱讀:504 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)如何使用Python selenium實(shí)現(xiàn)淘寶搶單機(jī)器人,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

一、痛點(diǎn)

各大電商在一些特定的日子都會開啟促銷活動,如618、雙十一等,有時(shí)還得盯著時(shí)間搶限量發(fā)售的商品,但你的成功率高嗎?是否經(jīng)常會遇到App一直加載,刷新后發(fā)現(xiàn)商品被一掃而光了?事實(shí)是,很多和你競爭搶購商品的對手比你的手更快更準(zhǔn),因?yàn)樗麄兒芏喽际悄芫珳?zhǔn)執(zhí)行命令的機(jī)器人

氣不氣?沒關(guān)系這篇文章將手把手教你零基礎(chǔ)建設(shè)一個(gè)自己的機(jī)器人,幫你在設(shè)定好的時(shí)間自動下單,再也不用為搶不到心愛的寶貝煩惱了!

二、準(zhǔn)備工作

在建設(shè)機(jī)器人之前,請確保你準(zhǔn)備好了如下工具:

  • 一臺電腦:不需要多快多新,能用就行

  • Chrome瀏覽器:機(jī)器人將在Chrome上完成自動下單的工作

  • Python編程環(huán)境:別怕,你不需要會編程,代碼已經(jīng)幫你寫好了。但你需要安裝一個(gè)軟件能讓它跑起來,所以需要簡單配置一下python的編程環(huán)境。Windows和Mac用戶,請按照相對應(yīng)的方式配置。

2.1 "Windows 配置Python"

下列步驟適用于Windows系統(tǒng)。

Anaconda是一個(gè)開源的Python發(fā)行版本,集成了Python和眾多科學(xué)包。

  • 第一步:下載Anaconda Windows版本的64-Bit Graphical Installer

  • 第二步:安裝Anaconda

  • 第三步:打開Anaconda Navigator,點(diǎn)擊Launch Notebook或JupyterLab

然后你會看到這樣的畫面:

如何使用Python selenium實(shí)現(xiàn)淘寶搶單機(jī)器人

Jupyter Lab

看到右側(cè)的Notebook區(qū)域,添加一個(gè)Notebook,然后使用下面的代碼打造機(jī)器人!

2.2 "Mac 配置Python"

下列步驟適用于Intel Mac和M1 Mac。

  • 第一步:打開終端(command + space 激活Spotlight,輸入Terminal)

如何使用Python selenium實(shí)現(xiàn)淘寶搶單機(jī)器人

終端Terminal

  • 第二步:輸入pip3 install jupyter

  • 第三步:輸入pip3 install jupyter-lab

  • 第四步:輸入jupyter lab

然后你會看到這樣的畫面:

如何使用Python selenium實(shí)現(xiàn)淘寶搶單機(jī)器人

Jupyter Lab

看到右側(cè)的Notebook區(qū)域,添加一個(gè)Notebook,然后使用下面的代碼打造機(jī)器人!

三、代碼

以下代碼請?jiān)谀銊偛艅?chuàng)建的Notebook中運(yùn)行。

3.1 下載需要的程序包

# Selenium 常用于網(wǎng)頁的自動化測試,在此我們借助它自動化淘寶下單的過程
!pip install selenium
!which python

上面的代碼返回了/opt/anaconda3/bin/python,接下來就要用到這個(gè)地址。

3.2 下載一個(gè)小配件

  • 查看自己Chrome瀏覽器的版本(進(jìn)入關(guān)于Chrome即可看到軟件版本)

  • 前往ChromeDriver的官方下載地址下載對應(yīng)版本的chrome driver后,放在此/opt/anaconda3/bin 文件夾里 

from selenium import webdriver
import datetime
import time

小技巧:這個(gè)時(shí)間可以用來快速設(shè)定搶購時(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():
    # 打開淘寶首頁,通過掃碼登錄
    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)
#等待搶購時(shí)間,定時(shí)秒殺,這里我們定義一個(gè)buy函數(shù)
def buy(times):
    print(times)
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        # 對比時(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"搶購成功,請盡快付款")
                except:
                    print(f"再次嘗試提交訂單")
            time.sleep(0.01)

3.4 啟動機(jī)器人

browser = webdriver.Chrome()
login()
picking()

3.5 定時(shí)下單

order_time = input("請輸入搶購時(shí)間,格式如(2021-06-08 19:30:00.000000):")

請輸入搶購時(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ī)器人”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI