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

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

工具使用
開發(fā)工具:pycharm 開發(fā)環(huán)境:python3.7, Windows10 使用工具包:selenuim
需求分析
我們的目標(biāo)是秒殺淘寶的訂單,這里面有幾個關(guān)鍵點(diǎn),首先需要登錄淘寶,其次你需要準(zhǔn)備好訂單,最后要在指定時間快速提交訂單。
項目思路解析
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文件夾中即可

項目解析
嘗試通過selenium打開淘寶首頁,檢驗是否安裝成功
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("請在30秒內(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)文章
pycharm激活碼2020最新分享適用pycharm2020最新版親測可用
這篇文章主要介紹了pycharm激活碼2020最新分享適用pycharm2020最新版親測可用,同時也支持Intellij IDEA激活碼,PHPStorm激活碼大家可以放心使用需要的朋友可以參考下2020-11-11
Python將string轉(zhuǎn)換到float的實例方法
在本篇文章中小編給大家分享的是關(guān)于Python將string轉(zhuǎn)換到float的實例方法以及相關(guān)知識點(diǎn),需要的朋友們參考下。2019-07-07
基于Python編寫一個有趣的進(jìn)程勾選器(Process?Selector)
本文主要介紹了如何利用Python編寫一個有趣的進(jìn)程勾選器,可以在Checklistbox中列出系統(tǒng)中正在運(yùn)行的進(jìn)程的名稱和PID,并允許用戶選擇進(jìn)程并將其保存到文本文件中,需要的可以參考一下2023-05-05
python數(shù)據(jù)擬合之scipy.optimize.curve_fit解讀
這篇文章主要介紹了python數(shù)據(jù)擬合之scipy.optimize.curve_fit解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12

