Python制作腳本幫女朋友搶購清空購物車
大家好,我是辣條。

辣條的一個(gè)朋友最近跟我訴苦:女朋友沉迷淘寶搶購無法自拔,大晚上不睡覺都在定時(shí)搶購,真是敗家。
都是好朋友辣條肯定幫忙,不就是定時(shí)搶購,定時(shí)清空購物車嘛,這叫安排。
爬取目標(biāo)
網(wǎng)站:淘寶

工具使用
開發(fā)工具:pycharm 開發(fā)環(huán)境:python3.7, Windows10 使用工具包:selenuim
需求分析
我們的目標(biāo)是秒殺淘寶的訂單,這里面有幾個(gè)關(guān)鍵點(diǎn),首先需要登錄淘寶,其次你需要準(zhǔn)備好訂單,最后要在指定時(shí)間快速提交訂單。
項(xiàng)目思路解析
selenium安裝配置
selenium是Python自動(dòng)化測(cè)試的工具庫,需要配置一些環(huán)境驅(qū)動(dòng) selenium安裝
pip install selenium
Selenium安裝好之后,并不能直接使用,它需要與瀏覽器進(jìn)行對(duì)接。這里拿Chrome瀏覽器為例。若想使用Selenium成功調(diào)用Chrome瀏覽器完成相應(yīng)的操作,需要通過ChromeDriver來驅(qū)動(dòng)。 鏈接:
https://chromedriver.storage.googleapis.com/index.html 根據(jù)自身的chorme版本選擇安裝的驅(qū)動(dòng)版本


下載完成之后,解壓,將其放置在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ù)(可全選,可自己手動(dòng)勾選)

在點(diǎn)擊結(jié)算按鈕

設(shè)定一個(gè)結(jié)算時(shí)間,你需要下單的時(shí)間

等待時(shí)間的到來 點(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("親,請(qǐng)登錄"):
driver.find_element_by_link_text("親,請(qǐng)登錄").click()
print("請(qǐng)?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)前時(shí)間" + now)
# 對(duì)比時(shí)間,時(shí)間到的話就點(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("請(qǐng)輸入搶購時(shí)間:")
# 時(shí)間格式:"2018-09-06 11:20:00.000000"
login()
buy("2021-08-24 14:30:00.000000")
腳本是弄完了不過事情好像沒完......


到此這篇關(guān)于Python制作腳本搶購清空購物車的文章就介紹到這了,更多相關(guān)Python搶購腳本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 處理數(shù)字,把大于上限的數(shù)字置零實(shí)現(xiàn)方法
今天小編就為大家分享一篇python 處理數(shù)字,把大于上限的數(shù)字置零實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01
在django中使用post方法時(shí),需要增加csrftoken的例子
這篇文章主要介紹了在django中使用post方法時(shí),需要增加csrftoken的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
python+opencv實(shí)現(xiàn)動(dòng)態(tài)物體識(shí)別
這篇文章主要為大家詳細(xì)介紹了python+opencv實(shí)現(xiàn)動(dòng)態(tài)物體識(shí)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
78行Python代碼實(shí)現(xiàn)現(xiàn)微信撤回消息功能
這篇文章主要介紹了78行Python代碼實(shí)現(xiàn)現(xiàn)微信撤回消息功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07
詳解Python3網(wǎng)絡(luò)爬蟲(二):利用urllib.urlopen向有道翻譯發(fā)送數(shù)據(jù)獲得翻譯結(jié)果
這篇文章主要介紹了Python3網(wǎng)絡(luò)爬蟲(二):利用urllib.urlopen向有道翻譯發(fā)送數(shù)據(jù)獲得翻譯結(jié)果,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
python打印異常信息的兩種實(shí)現(xiàn)方式
今天小編就為大家分享一篇python打印異常信息的兩種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python?中的lambda匿名函數(shù)和三元運(yùn)算符
這篇文章主要介紹了Python?中的lambda匿名函數(shù)和三元運(yùn)算符,使用關(guān)鍵字???lambda???定義,所以匿名函數(shù)又稱之為lambda表達(dá)式,下面文章更多相關(guān)內(nèi)容需要的小伙伴可以參考一下2022-04-04
Django框架 Pagination分頁實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了Django框架 Pagination分頁實(shí)現(xiàn)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09

