1. 程式人生 > 程式設計 >Python 指令碼實現淘寶準點秒殺功能

Python 指令碼實現淘寶準點秒殺功能

準備軟體

下載地址 : https://download.csdn.net/download/tangcv/11968538

pycharm檔案太大,不好上傳 ,直接去官網下載:https://www.jetbrains.com/pycharm/download/#section=windows

配置環境

1.安裝python

雙擊

然後跟著感覺走,

建立一個專門的資料夾用來放python環境

安裝好

2..安裝pycharm

1、首先去Pycharm官網,或者直接輸入網址:http://www.jetbrains.com/pycharm/download/#section=windows ,下載PyCharm安裝包,根據自己電腦的作業系統進行選擇,對於windows系統選擇下圖的框框所包含的安裝包。

破解涉嫌版權問題,請自行解決

3.安裝火狐瀏覽器、火狐瀏覽器安裝FireBug外掛火狐瀏覽器

雙擊 Firefox-latest 安裝 火狐瀏覽器

FireBug外掛

右上角 附加元件 > 擴充套件 > 搜尋 FireBug

選擇 Omnibug 安裝

按F12 出現下圖 ,安裝成功

4.geckodriver 驅動安裝

1.解壓geckodriver-v0.26.0-win64

2.將 geckodriver 放到 該瀏覽器可執行檔案的路徑下

3.新增到環境變數中


4.將 geckodriver 放到 該python可執行檔案的路徑下

測試配置是否完成用pycharm建立一個python專案

File > Settings > project: ms > project interpreter新增selectninm 和 urlib3

新建一個python檔案

# -*- coding: utf-8 -*-
from selenium import webdriver
driver = webdriver.Firefox()

右鍵 執行

瀏覽器自動開啟 進入百度

完成配置

淘寶秒殺程式二維碼登入

#!/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秒內完成掃碼")
 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:%f'))
 
 
def buy(buytime):
 while True:
  now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
  print("當前時間" + now)
  # 對比時間,時間到的話就點選結算
  if now > buytime:
   try:
    # 點選結算按鈕
    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("2019-11-10 01:14:00.000000")

賬號密碼登入

#!/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(uname,pwd):
 driver.get("https://www.taobao.com")
 if driver.find_element_by_link_text("親,請登入"):
  driver.find_element_by_link_text("親,請登入").click()
 input(uname,pwd)
 
 # 點選購物車裡全選按鈕
 if driver.find_element_by_id("J_SelectAll1"):
  driver.find_element_by_id("J_SelectAll1").click()
 # time.sleep(3)
 now = datetime.datetime.now()
 print('login success:',now.strftime('%Y-%m-%d %H:%M:%S'))
 
 
def input(uname,pwd):
 time.sleep(3)
 # 選擇密碼登入
 if driver.find_element_by_id("J_Quick2Static"):
  driver.find_element_by_id("J_Quick2Static").click()
 time.sleep(3)
 
 # 使用者名稱輸入
 if driver.find_element_by_name("TPL_username"):
  for i in uname:
   driver.find_element_by_name("TPL_username").send_keys(i)
   time.sleep(0.5)
 time.sleep(3)
 
 # 密碼輸入
 if driver.find_element_by_name("TPL_password"):
  for j in pwd:
   driver.find_element_by_name("TPL_password").send_keys(j)
   time.sleep(0.5)
 time.sleep(3)
 
 # 點選登入按鈕
 if driver.find_element_by_id("J_SubmitStatic"):
  driver.find_element_by_id("J_SubmitStatic").click()
 time.sleep(3)
 driver.get("https://cart.taobao.com/cart.htm")
 time.sleep(2)
 
 
def buy(buytime):
 while True:
  now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
  if now == buytime:
   try:
    # 點選結算按鈕
    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(1)
  print(now)
  time.sleep(1)
 
if __name__ == "__main__":
 # 中文賬號記得decode編碼
 login("賬號",'密碼')
 buy('2019-11-10 01:01:01.000001')

總結

以上所述是小編給大家介紹的Python 指令碼實現淘寶準點秒殺功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!