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