python實(shí)現(xiàn)淘寶秒殺腳本
本文實(shí)例為大家分享了python實(shí)現(xiàn)淘寶秒殺腳本的具體代碼,供大家參考,具體內(nèi)容如下
1.安裝pycharm。網(wǎng)上教程很多。
2.安裝 Selenium 庫(kù)。
Selenium支持很多瀏覽器,我選擇的是Firefox瀏覽器。
因?yàn)槲疫@里是Python3環(huán)境,自帶的又pip,所以安裝selenium直接使用pip安裝
安裝方法:
--打開(kāi)cmd;
--輸入命令進(jìn)入Python36/Scripts(找到下圖的目錄)目錄下;
--輸入命令 pip install selenium;
--回車(chē),等待自動(dòng)安裝;
--當(dāng)最后一行代碼出現(xiàn)Successfully install selenium-XX時(shí),表示安裝成功。
3.插件 FireBug
FireBug 是火狐瀏覽器的一款查看代碼元素的插件,可以快速的定位元素,selenium的重點(diǎn)就是元素定位,只有定到位了,才能進(jìn)行下一步操作。
安裝方法:
--打開(kāi)Firefox瀏覽器,點(diǎn)擊右上角按鈕
--點(diǎn)擊附加組件
--點(diǎn)擊擴(kuò)展
--搜索firebug
--點(diǎn)擊安裝,重啟瀏覽器
--測(cè)試安裝成功,按F12出現(xiàn)如下畫(huà)面,表示firebug已經(jīng)安裝成功了
4.安裝 驅(qū)動(dòng)安裝 geckodriver(windows環(huán)境下)
文件鏈接在下方。
使用方法:
1、下載完成解壓;
2、將 geckodriver 放到 該瀏覽器可執(zhí)行文件的路徑下
3、添加到環(huán)境變量中
5. 設(shè)置 pycharm
先創(chuàng)建一個(gè)工程
打開(kāi) pycharm -> 打開(kāi) file -> 點(diǎn)擊 setting -> 點(diǎn)擊最右邊的設(shè)置按鈕
點(diǎn)擊 add, 在 Virtualenv Environment 和 System Interpreter 并選定找到本文給的 python 運(yùn)行文件夾,Location 是自己建立的工作文件夾,里面為空,參考操作如下:
打開(kāi) pycharm -> 打開(kāi) file -> 點(diǎn)擊 setting
將 project Interpreter 設(shè)置為 本文給的文件,或是自己本身的 python自帶運(yùn)行庫(kù)
6. 新建一個(gè)python文件
輸入以下程序:
# -*- coding: utf-8 -*- from selenium import webdriver driver = webdriver.Firefox() driver.get(https://www.baidu.com)
得到如下:
則成功搭建好環(huán)境。
7. 淘寶秒殺程序
#!/usr/bin/env python # -*- coding: utf-8 -*- # 2018/09/05 # 淘寶秒殺腳本,掃碼登錄版 import os from selenium import webdriver import datetime import time from os import path from selenium.webdriver.common.action_chains import ActionChains d = path.dirname(__file__) abspath = path.abspath(d) driver = webdriver.Firefox() 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)物車(chē)?yán)锶x按鈕 # if driver.find_element_by_id("J_CheckBox_939775250537"): # driver.find_element_by_id("J_CheckBox_939775250537").click() # if driver.find_element_by_id("J_CheckBox_939558169627"): # driver.find_element_by_id("J_CheckBox_939558169627").click() 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')) 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: 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("2018-10-22 18:55:00.000000")
以上程序是參照對(duì)應(yīng)的 html 源碼的對(duì)應(yīng)元素所選擇的。舉例如下:
中對(duì)應(yīng)的 J_SelectAll1 對(duì)應(yīng)如下:
關(guān)于 selenium 和 html 源碼的交互以后有時(shí)間再來(lái)研究。
資料鏈接如下:鏈接地址
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python中有關(guān)時(shí)間日期格式轉(zhuǎn)換問(wèn)題
這篇文章主要介紹了python中有關(guān)時(shí)間日期格式轉(zhuǎn)換問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12django報(bào)錯(cuò)設(shè)置auth User的解決
本文主要介紹了django報(bào)錯(cuò)設(shè)置auth User的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07python網(wǎng)絡(luò)編程學(xué)習(xí)筆記(五):socket的一些補(bǔ)充
前面已經(jīng)為大家介紹了python socket的一些相關(guān)知識(shí),這里為大家補(bǔ)充下,方便需要的朋友2014-06-06Pycharm學(xué)生免費(fèi)專業(yè)版安裝教程的方法步驟
這篇文章主要介紹了Pycharm學(xué)生免費(fèi)專業(yè)版安裝教程的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09python讀取文件列表并排序的實(shí)現(xiàn)示例
本文主要介紹了python讀取文件列表并排序的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07選擇Python寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)的優(yōu)勢(shì)和理由
在本篇文章里小編給各位整理了一篇關(guān)于選擇Python寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)的優(yōu)勢(shì)和理由以及相關(guān)代碼實(shí)例,有興趣的朋友們閱讀下吧。2019-07-07