疫情當(dāng)下,大部分人選擇網(wǎng)購(gòu),但是在有限數(shù)量的網(wǎng)購(gòu)商品時(shí),大家就需要蹲點(diǎn)搶了,而蹲點(diǎn)也不一定比別手快,有什么方法可以實(shí)現(xiàn)自動(dòng)蹲點(diǎn)搶購(gòu)呢?
使用方法
1.先把想搶購(gòu)的商品加入淘寶手機(jī)端的購(gòu)物車(chē)
2.修改代碼中搶購(gòu)時(shí)間
3.運(yùn)行代碼
4.彈出瀏覽器,登錄淘寶
5.使用手機(jī)掃碼登錄(需要在30內(nèi)完成)
6.等待搶購(gòu),結(jié)束后會(huì)自動(dòng)顯示在手機(jī)端的代付款中
實(shí)現(xiàn)流程
首先你得有一個(gè)pycharm與python解釋器,還有一個(gè)谷歌瀏覽器
接下來(lái)的步驟就簡(jiǎn)單了
前期準(zhǔn)備
首先導(dǎo)入ChromeDriver 是 Chrome 驅(qū)動(dòng),是 Python 爬蟲(chóng)使用的 selenium 模塊用來(lái)模擬打開(kāi)谷歌瀏覽器所必須的一個(gè)文件,能模擬在谷歌瀏覽器上的操作。(當(dāng)然,如果爬蟲(chóng)用的是其他瀏覽器,也要相應(yīng)下載其他瀏覽器的驅(qū)動(dòng),不過(guò)谷歌瀏覽器因?yàn)樗臒o(wú)界面抓取的優(yōu)勢(shì)和穩(wěn)定性常成為爬蟲(chóng)首選的瀏覽器)
導(dǎo)入步驟:
chromedriver下載地址:
http://chromedriver.storage.googleapis.com/index.html
http://npm.taobao.org/mirrors/chromedriver/
兩個(gè)地址都可以下載,根據(jù)自己的chrome瀏覽器的版本選擇下載即可
打開(kāi)Google 點(diǎn)擊右上角三個(gè)點(diǎn)——幫助——關(guān)于 Google Chrome——查看版本點(diǎn)開(kāi)上面鏈接下載與谷歌版本一致的(或者比谷歌版本大的)
以我谷歌版本為例:我下載的是108.0.5359.71的 ,點(diǎn)擊進(jìn)去,下載chromedriver_win32.zip 解壓到桌面上
?
?
?win+r 打開(kāi)命令提示符 打開(kāi)cmd ,并在命令提示符中輸入where python(查找python解釋器的位置)
復(fù)制路徑(D:\Python310\)在此電腦打開(kāi)找到解釋器所在的文件夾
?
將我們下載的把exe文件復(fù)制到python的安裝目錄下:?(D:\Python310\)實(shí)際以自己的安裝目錄
?配置環(huán)境變量:此電腦→右擊屬性→高級(jí)系統(tǒng)設(shè)置→環(huán)境變量→用戶變量→Path→編輯→新建,將以下路徑復(fù)制,然后不要忘記后續(xù)全部點(diǎn)擊確定
C:\Program Files (x86)\Google\Chrome\Application\
?
?打開(kāi)pycharm,輸入以下代碼,測(cè)試一下是否驅(qū)動(dòng)成功
from selenium import webdriver
driver = webdriver.Chrome()
url = 'https://www.csdn.net/'
driver.get(url)
driver.maximize_window()
?成功就來(lái)到下一步
安裝 selenium模塊、time模塊
win+r 打開(kāi)命令提示符 打開(kāi)cmd ,并在命令提示符中輸入
python -m pip install selenium
安裝selenium模塊
pip install time
安裝time模塊
前期工作完成??!
代碼部分展示
記得點(diǎn)贊加關(guān)注文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-441169.html
接下來(lái)復(fù)制代碼,代碼最后一行可以修改時(shí)間(選擇搶購(gòu)時(shí)間)?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-441169.html
from selenium.webdriver.common.by import By
from selenium import webdriver
import datetime
import time
driver = webdriver.Chrome()
driver.maximize_window()
def login():
# 打開(kāi)淘寶登錄頁(yè),并進(jìn)行掃碼登錄
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()
driver.find_element(By.XPATH, '//*[@id="login"]/div[1]/i').click()
print("請(qǐng)?jiān)?0秒內(nèi)完成掃碼")
time.sleep(30)
url3 = "https://cart.taobao.com/cart.htm" # 淘寶購(gòu)物車(chē)
driver.get(url3)
time.sleep(3)
# 點(diǎn)擊購(gòu)物車(chē)?yán)锶x按鈕
if driver.find_element(By.ID, "J_SelectAll1"):
driver.find_element(By.ID, "J_SelectAll1").click()
else:
print("找不到購(gòu)買(mǎi)按鈕,請(qǐng)手動(dòng)點(diǎn)擊商品")
now = datetime.datetime.now()
print('login success:', now.strftime('%Y-%m-%d %H:%M:%S:%f'))
def buy(buytime):
while True:
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
# 對(duì)比時(shí)間,時(shí)間到的話就點(diǎn)擊結(jié)算
if now >= buytime:
print("與預(yù)定時(shí)間1進(jìn)行比較")
while True:
try:
# 點(diǎn)擊結(jié)算按鈕
if driver.find_element(By.XPATH, '//*[@class="submit-btn"]/span'):
driver.find_element(By.XPATH, '//*[@class="submit-btn"]/span').click() # 結(jié)算
print("程序鎖定商品,結(jié)算成功")
break
except:
time.sleep(0.001)
# 點(diǎn)擊提交訂單按鈕
while True:
try:
# time.sleep(1)
if driver.find_element(By.XPATH, '//*[@id="submitOrderPC_1"]/div/a[2]'):
driver.execute_script('window.scrollBy(0,250)')
driver.find_element(By.XPATH, '//*[@id="submitOrderPC_1"]/div/a[2]').click() # 提交訂單
print("訂單提交成功")
break
except:
time.sleep(0.01)
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
print("已經(jīng)搶到商品啦,搶到的時(shí)間:" + now)
break
print("當(dāng)前時(shí)間:" + now)
time.sleep(0.01)
if __name__ == "__main__":
login()
buy("2022-12-17 10:00:00.000000") #本時(shí)間是搶購(gòu)時(shí)間,可根據(jù)需求進(jìn)行更改
到了這里,關(guān)于使用python實(shí)現(xiàn)淘寶搶購(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!