Python制作腳本幫女朋友搶購清空購物車
大家好,我是辣條。
辣條的一個朋友最近跟我訴苦:女朋友沉迷淘寶搶購無法自拔,大晚上不睡覺都在定時搶購,真是敗家。
都是好朋友辣條肯定幫忙,不就是定時搶購,定時清空購物車嘛,這叫安排。
爬取目標(biāo)
網(wǎng)站:淘寶
工具使用
開發(fā)工具:pycharm 開發(fā)環(huán)境:python3.7, Windows10 使用工具包:selenuim
需求分析
我們的目標(biāo)是秒殺淘寶的訂單,這里面有幾個關(guān)鍵點(diǎn),首先需要登錄淘寶,其次你需要準(zhǔn)備好訂單,最后要在指定時間快速提交訂單。
項(xiàng)目思路解析
selenium安裝配置
selenium是Python自動化測試的工具庫,需要配置一些環(huán)境驅(qū)動 selenium安裝
pip install selenium
Selenium安裝好之后,并不能直接使用,它需要與瀏覽器進(jìn)行對接。這里拿Chrome瀏覽器為例。若想使用Selenium成功調(diào)用Chrome瀏覽器完成相應(yīng)的操作,需要通過ChromeDriver來驅(qū)動。 鏈接:
https://chromedriver.storage.googleapis.com/index.html 根據(jù)自身的chorme版本選擇安裝的驅(qū)動版本
下載完成之后,解壓,將其放置在Python安裝路徑下python文件夾中即可
項(xiàng)目解析
嘗試通過selenium打開淘寶首頁,檢驗(yàn)是否安裝成功
from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get(https://www.taobao.com)
通過xpath定位選取到登錄標(biāo)簽,搶購腳本需要先知道你購買的東西是什么
登錄的方式課自行選擇(可賬戶密碼登錄,也可掃碼登錄,辣條在這里用的掃碼登錄)
登錄成功后點(diǎn)擊購物車,選取你需要的商品數(shù)據(jù)(可全選,可自己手動勾選)
在點(diǎn)擊結(jié)算按鈕
設(shè)定一個結(jié)算時間,你需要下單的時間
等待時間的到來 點(diǎn)擊提交訂單按鈕
簡易源碼分享
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : BaiChuan # @File : 淘寶搶購.py from selenium import webdriver import datetime import time driver = webdriver.Chrome() driver.maximize_window() def login(): # 打開淘寶登錄頁,并進(jìn)行掃碼登錄 driver.get("https://www.taobao.com") time.sleep(3) if driver.find_element_by_link_text("親,請登錄"): driver.find_element_by_link_text("親,請登錄").click() print("請?jiān)?0秒內(nèi)完成掃碼") time.sleep(30) driver.get("https://cart.taobao.com/cart.htm") time.sleep(3) # 點(diǎn)擊購物車?yán)锶x按鈕 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:%f')) def buy(buytime): while True: now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') print("當(dāng)前時間" + now) # 對比時間,時間到的話就點(diǎn)擊結(jié)算 if now > buytime: try: # 點(diǎn)擊結(jié)算按鈕 if driver.find_element_by_id("J_Go"): driver.find_element_by_id("J_Go").click() driver.find_element_by_link_text('提交訂單').click() except: time.sleep(0.1) print(now) time.sleep(0.1) if __name__ == "__main__": # times = input("請輸入搶購時間:") # 時間格式:"2018-09-06 11:20:00.000000" login() buy("2021-08-24 14:30:00.000000")
腳本是弄完了不過事情好像沒完......
到此這篇關(guān)于Python制作腳本搶購清空購物車的文章就介紹到這了,更多相關(guān)Python搶購腳本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 處理數(shù)字,把大于上限的數(shù)字置零實(shí)現(xiàn)方法
今天小編就為大家分享一篇python 處理數(shù)字,把大于上限的數(shù)字置零實(shí)現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01在django中使用post方法時,需要增加csrftoken的例子
這篇文章主要介紹了在django中使用post方法時,需要增加csrftoken的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03python+opencv實(shí)現(xiàn)動態(tài)物體識別
這篇文章主要為大家詳細(xì)介紹了python+opencv實(shí)現(xiàn)動態(tài)物體識別,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-0178行Python代碼實(shí)現(xiàn)現(xiàn)微信撤回消息功能
這篇文章主要介紹了78行Python代碼實(shí)現(xiàn)現(xiàn)微信撤回消息功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07詳解Python3網(wǎng)絡(luò)爬蟲(二):利用urllib.urlopen向有道翻譯發(fā)送數(shù)據(jù)獲得翻譯結(jié)果
這篇文章主要介紹了Python3網(wǎng)絡(luò)爬蟲(二):利用urllib.urlopen向有道翻譯發(fā)送數(shù)據(jù)獲得翻譯結(jié)果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05python打印異常信息的兩種實(shí)現(xiàn)方式
今天小編就為大家分享一篇python打印異常信息的兩種實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python?中的lambda匿名函數(shù)和三元運(yùn)算符
這篇文章主要介紹了Python?中的lambda匿名函數(shù)和三元運(yùn)算符,使用關(guān)鍵字???lambda???定義,所以匿名函數(shù)又稱之為lambda表達(dá)式,下面文章更多相關(guān)內(nèi)容需要的小伙伴可以參考一下2022-04-04Django框架 Pagination分頁實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了Django框架 Pagination分頁實(shí)現(xiàn)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09