目錄
- 爬取目標(biāo)
- 工具使用
- 需求分析
- 項(xiàng)目思路解析
- 簡(jiǎn)易源碼分享
大家好,我是辣條。
辣條的一個(gè)朋友最近跟我訴苦:女朋友沉迷淘寶搶購(gòu)無(wú)法自拔,大晚上不睡覺(jué)都在定時(shí)搶購(gòu),真是敗家。
都是好朋友辣條肯定幫忙,不就是定時(shí)搶購(gòu),定時(shí)清空購(gòu)物車嘛,這叫安排。
爬取目標(biāo)
網(wǎng)站:淘寶
工具使用
開(kāi)發(fā)工具:pycharm 開(kāi)發(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è)試的工具庫(kù),需要配置一些環(huán)境驅(qū)動(dòng) selenium安裝
pip install selenium
Selenium安裝好之后,并不能直接使用,它需要與瀏覽器進(jìn)行對(duì)接。這里拿Chrome瀏覽器為例。若想使用Selenium成功調(diào)用Chrome瀏覽器完成相應(yīng)的操作,需要通過(guò)ChromeDriver來(lái)驅(qū)動(dòng)。 鏈接:
https://chromedriver.storage.googleapis.com/index.html 根據(jù)自身的chorme版本選擇安裝的驅(qū)動(dòng)版本
下載完成之后,解壓,將其放置在Python安裝路徑下python文件夾中即可
項(xiàng)目解析
嘗試通過(guò)selenium打開(kāi)淘寶首頁(yè),檢驗(yàn)是否安裝成功
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get(https://www.taobao.com)
通過(guò)xpath定位選取到登錄標(biāo)簽,搶購(gòu)腳本需要先知道你購(gòu)買的東西是什么
登錄的方式課自行選擇(可賬戶密碼登錄,也可掃碼登錄,辣條在這里用的掃碼登錄)
登錄成功后點(diǎn)擊購(gòu)物車,選取你需要的商品數(shù)據(jù)(可全選,可自己手動(dòng)勾選)
在點(diǎn)擊結(jié)算按鈕
設(shè)定一個(gè)結(jié)算時(shí)間,你需要下單的時(shí)間
等待時(shí)間的到來(lái) 點(diǎn)擊提交訂單按鈕
簡(jiǎn)易源碼分享
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : BaiChuan
# @File : 淘寶搶購(gòu).py
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()
print("請(qǐng)?jiān)?0秒內(nèi)完成掃碼")
time.sleep(30)
driver.get("https://cart.taobao.com/cart.htm")
time.sleep(3)
# 點(diǎn)擊購(gòu)物車?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)輸入搶購(gòu)時(shí)間:")
# 時(shí)間格式:"2018-09-06 11:20:00.000000"
login()
buy("2021-08-24 14:30:00.000000")
腳本是弄完了不過(guò)事情好像沒(méi)完......
到此這篇關(guān)于Python制作腳本搶購(gòu)清空購(gòu)物車的文章就介紹到這了,更多相關(guān)Python搶購(gòu)腳本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python源碼學(xué)習(xí)之PyObject和PyTypeObject
- Python源碼解析之List
- python源碼剖析之PyObject詳解
- python opencv人臉識(shí)別考勤系統(tǒng)的完整源碼
- python 制作手機(jī)歸屬地查詢工具(附源碼)
- python基于tkinter制作無(wú)損音樂(lè)下載工具(附源碼)
- Python bsonrpc源碼解讀
- Python源碼學(xué)習(xí)之PyType_Type和PyBaseObject_Type詳解