Python搶購(gòu)腳本的編寫方法
想買mate40,但總是搶不到,所以想試著能不能寫個(gè)腳本代碼。
第一步:把想要搶購(gòu)的商品加進(jìn)購(gòu)物車,注意:腳本是對(duì)購(gòu)物車內(nèi)全部商品進(jìn)行下單操作,所以不夠買的商品最好先從購(gòu)物車內(nèi)刪除。
第二步:寫好Python腳本,在搶購(gòu)之前運(yùn)行,并設(shè)置好搶購(gòu)時(shí)間。
Python腳本實(shí)現(xiàn)
- 安裝Python。我安裝的是anaconda
- 安裝webdriver擴(kuò)展。它是Selenium模塊的一部分。Selenium是一個(gè)用于Web應(yīng)用程序測(cè)試的工具,用于測(cè)試你的應(yīng)用程序看是否能夠很好得工作在不同瀏覽器和操作系統(tǒng)之上。Selenium測(cè)試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作一樣。所以其實(shí)就是安裝Selenium:Win+R,輸入cmd,在命令行中輸入pip show selenium
- 安裝chrome瀏覽器(因?yàn)槲矣玫氖枪雀瑁?/li>
- 安裝chromedriver。它是chrome的插件,是為了webDriver能通過操作chromedriver來控制chrome瀏覽器自動(dòng)操作,如打開網(wǎng)頁,點(diǎn)擊按鈕等操作。
下載地址:
http://chromedriver.storage.googleapis.com/index.html或者h(yuǎn)ttps://npm.taobao.org/mirrors/chromedriver/
**注意:下載時(shí)要根據(jù)電腦系統(tǒng)和chrome瀏覽器版本來選擇對(duì)應(yīng)的chromedriver版本。**可以通過瀏覽器右上角的三點(diǎn)→幫助→關(guān)于Google Chrome來查看自己的chrome版本。
下載chromedriver安裝包后,進(jìn)行解壓,放在chrome安裝的同級(jí)目錄下,同時(shí)在環(huán)境變量PATH中添加路徑。
然后用以下代碼檢驗(yàn)是否安裝成功:
然鵝,此時(shí)我遇到了錯(cuò)誤,如下
于是,我把chromedriver.exe放到了我python腳本的文件夾后,就完美解決問題了!
【補(bǔ)充】我知道自己為什么出現(xiàn)上面那個(gè)錯(cuò)誤了,因?yàn)槁窂經(jīng)]輸入!在下圖所示紅框處輸入自己的下載的chromedriver安裝路徑即可成功運(yùn)行。
完整的Python腳本代碼如下:
```python # coding=utf-8 import os from selenium import webdriver import datetime import time from os import path #此處chromedriver改為自己下載解壓的chromedriver的路徑 driver = webdriver.Chrome("E:/JupyterNotebookSavePath/chromedriver") #driver.maximize_window() def login(): #打開淘寶首頁,掃碼登陸淘寶 driver.get("https://www.taobao.com") time.sleep(3) if driver.find_element_by_link_text("親,請(qǐng)登錄"): driver.find_element_by_link_text("親,請(qǐng)登錄").click() print("請(qǐng)?jiān)?5秒內(nèi)完成掃碼") time.sleep(15) #打開購(gòu)物車列表首頁 driver.get("https://cart.taobao.com/cart.htm") time.sleep(3) #全選購(gòu)物車 if driver.find_element_by_id("J_SelectAll1"): driver.find_element_by_id("J_SelectAll1").click() now = datetime.datetime.now() print("login success:", now.strftime("%Y-%m-%d %H:%M:%S")) def buy(times): while True: #記錄當(dāng)前時(shí)間,使用datatime內(nèi)置模塊 now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") print(times) print(now) # 對(duì)比時(shí)間,時(shí)間到的話就點(diǎn)擊結(jié)算 if now == times: try: if driver.find_element_by_id("J_Go"): driver.find_element_by_id("J_Go").click() driver.find_element_by_link_text('提交訂單').click() print('搶購(gòu)成功,請(qǐng)盡快付款') except: print('請(qǐng)?jiān)俅螄L試提交訂單') print(now) time.sleep(0.1) if __name__ == "__main__": times = input("請(qǐng)輸入搶購(gòu)時(shí)間(例如格式:2021-02-01 00:00:00):") login() buy(times)
到此這篇關(guān)于Python搶購(gòu)腳本的編寫方法的文章就介紹到這了,更多相關(guān)Python搶購(gòu)腳本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中使用第三方庫(kù)xlutils來追加寫入Excel文件示例
這篇文章主要介紹了Python中使用第三方庫(kù)xlutils來追加寫入Excel文件示例,本文直接給出追加寫入示例和追加效果,需要的朋友可以參考下2015-04-04Python實(shí)現(xiàn)簡(jiǎn)單的列表冒泡排序和反轉(zhuǎn)列表操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單的列表冒泡排序和反轉(zhuǎn)列表操作,涉及Python列表遍歷、排序、追加等相關(guān)操作技巧,需要的朋友可以參考下2019-07-07nginx黑名單和django限速,最簡(jiǎn)單的防惡意請(qǐng)求方法分享
今天小編就為大家分享一篇nginx黑名單和django限速,最簡(jiǎn)單的防惡意請(qǐng)求方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08python實(shí)現(xiàn)會(huì)員管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)會(huì)員管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03python Requsets下載開源網(wǎng)站的代碼(帶索引 數(shù)據(jù))
這篇文章主要介紹了python Requsets下載開源網(wǎng)站的代碼(帶索引 數(shù)據(jù)),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04Python中byte字符串轉(zhuǎn)string的實(shí)現(xiàn)
本文主要介紹了Python中byte字符串轉(zhuǎn)string的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07