用Python selenium實(shí)現(xiàn)淘寶搶單機(jī)器人
各大電商在一些特定的日子都會開啟促銷活動,如618、雙十一等,有時(shí)還得盯著時(shí)間搶限量發(fā)售的商品,但你的成功率高嗎?是否經(jīng)常會遇到App一直加載,刷新后發(fā)現(xiàn)商品被一掃而光了?事實(shí)是,很多和你競爭搶購商品的對手比你的手更快更準(zhǔn),因?yàn)樗麄兒芏喽际悄芫珳?zhǔn)執(zhí)行命令的機(jī)器人。
氣不氣?沒關(guān)系這篇文章將手把手教你零基礎(chǔ)建設(shè)一個自己的機(jī)器人,幫你在設(shè)定好的時(shí)間自動下單,再也不用為搶不到心愛的寶貝煩惱了!
二、準(zhǔn)備工作在建設(shè)機(jī)器人之前,請確保你準(zhǔn)備好了如下工具:
一臺電腦:不需要多快多新,能用就行 Chrome瀏覽器:機(jī)器人將在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,點(diǎn)擊Launch Notebook或JupyterLab然后你會看到這樣的畫面:
Jupyter Lab
看到右側(cè)的Notebook區(qū)域,添加一個Notebook,然后使用下面的代碼打造機(jī)器人!
2.2 'Mac 配置Python'下列步驟適用于Intel Mac和M1 Mac。
第一步:打開終端(command + space 激活Spotlight,輸入Terminal)終端Terminal
第二步:輸入pip3 install jupyter 第三步:輸入pip3 install jupyter-lab 第四步:輸入jupyter lab然后你會看到這樣的畫面:
Jupyter Lab
看到右側(cè)的Notebook區(qū)域,添加一個Notebook,然后使用下面的代碼打造機(jī)器人!
三、代碼以下代碼請?jiān)谀銊偛艅?chuàng)建的Notebook中運(yùn)行。
3.1 下載需要的程序包# Selenium 常用于網(wǎng)頁的自動化測試,在此我們借助它自動化淘寶下單的過程!pip install selenium!which python
上面的代碼返回了/opt/anaconda3/bin/python,接下來就要用到這個地址。
3.2 下載一個小配件 查看自己Chrome瀏覽器的版本(進(jìn)入關(guān)于Chrome即可看到軟件版本) 前往ChromeDriver的官方下載地址下載對應(yīng)版本的chrome driver后,放在此/opt/anaconda3/bin 文件夾里from selenium import webdriverimport datetimeimport time
小技巧:這個時(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í)秒殺,這里我們定義一個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)備提交訂單')breakexcept: 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ī)器人的文章就介紹到這了,更多相關(guān)Python selenium淘寶搶單內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Docker與iptables及實(shí)現(xiàn)bridge方式網(wǎng)絡(luò)隔離與通信操作2. HTML <!DOCTYPE> 標(biāo)簽3. python中scrapy處理項(xiàng)目數(shù)據(jù)的實(shí)例分析4. 基于PHP與XML的PDF文檔生成技術(shù)5. WWDC總結(jié):開發(fā)者需要知道的iOS 9 SDK新特性6. Python requests庫參數(shù)提交的注意事項(xiàng)總結(jié)7. 將properties文件的配置設(shè)置為整個Web應(yīng)用的全局變量實(shí)現(xiàn)方法8. ASP基礎(chǔ)入門第三篇(ASP腳本基礎(chǔ))9. jsp文件下載功能實(shí)現(xiàn)代碼10. AJAX的跨域問題解決方案
