如何利用python原始碼下載進行下單?

local0發表於2021-09-11

如何利用python原始碼下載進行下單?

秒殺購物的東西比較受歡迎,除了運氣的因素,實力也是很重要的事情,手動秒下單,或者藉助工具都是購買的方式之一。當然,雖然買了很多我們辛辛苦苦搬磚掙的錢,但是該買的還是要買的,在購買力上小編也從來沒有認輸過。趁著活動還沒開始前,小編決定教大家如何用原始碼秒殺下單,購買到自己心愛的東西。


關於淘寶下單的思路,鑑於淘寶的厲害,相信基本上都是採用的無頭瀏覽器,即selenium驅動瀏覽器模擬人工提交訂單,如果能夠破解下單的post引數是最好不過了,暫未研究!

淘寶下單流程:

第一步:登入

發現微博登入新增了驗證碼,不知道是不是異地還是更新了,故採用掃碼登入。

 

第二步:購買/結算

其中採用購物車提交的方式會讓你感覺流暢不少!

當然也可以直接商品頁購買!

 

第三步:提交訂單

 

第四步:支付訂單(秒殺下單)

這裡準點下單購買能夠走到第三步就成功了,當然還有一個思路就是試試看移動端下單是否更加簡單順暢呢?

python的淘寶秒殺搶購下單原始碼參考

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
import requests
from datetime import datetime
 
path =r"C:UsersAdministratorAppDataLocalProgramsPythonPython36chromedriver.exe"  # 谷歌chromedriver完整路徑
# 輸入秒殺時間
start_time = '2020-03-04 14:59:58'
#password = input("輸入付款密碼:")
print("你只有15秒的登入時間")
# 將輸入的時間進行格式化
timeArray = datetime.strptime(start_time, "%Y-%m-%d %H:%M:%S")
# 用來判斷 你是訂單提交失敗還是支付失敗
sum = 0
# 設定chrome驅動的路徑
driver = webdriver.Chrome(executable_path=path)
# 開啟淘寶的登入介面
driver.get("")
# 最大化瀏覽器
driver.maximize_window()
 
# 判斷全選框是否出現 出現則點選全選 否則繼續等待 最多等待15秒
try:
    WebDriverWait(driver, 15, 0.1).until(
        lambda el: driver.find_element_by_xpath('//*[@id="J_SelectAll1"]/div/label')).click()
except:
    print("登入失敗")
 
 
def time_server():
    # 獲取淘寶伺服器的時間戳
    r1 = requests.get(url='',
                      headers={
                          'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4098.3 Safari/537.36'}
                      ).json()['data']['t']
    # 把時間戳格式/1000 獲取毫秒
    timeNum = int(r1) / 1000
    # 格式化時間 (小數點後6為)
    time1 = datetime.fromtimestamp(timeNum)
    return time1
 
 
# 等待時間到預定的時間
print("等待中")
 
while True:
    # 判斷時間伺服器時間是否大於或等於輸入的時間
    if time_server() >= timeArray:
        # 點選結算
        driver.find_element_by_xpath('//*[@id="J_Go"]').click()
        break
    else:
        continue
 
try:
    # 判斷提交訂單的按鈕是否出現 出現就點選 否則繼續等待 最多等待3秒
    WebDriverWait(driver, 3, 0.1).until(
        lambda el: driver.find_element_by_xpath('//*[@id="submitOrderPC_1"]/div/a[2]')).click()
    print("訂單提交成功")
    print("秒殺成功")
    sum = 1
    '''
    # 判斷輸入密碼的框是否出現 出現就輸入密碼
    WebDriverWait(driver, 5, 0.1).until(
        lambda el: driver.find_element_by_xpath('//*[@id="submitOrderPC_1"]/div/a[2]')).send_keys(password)
    # 點選確認付款
    driver.find_element_by_xpath('//*[@id="J_authSubmit"]').click()
    print("付款成功")'''
except:
    if sum == 0:
        print("提交訂單失敗")
    else:
        print("提交訂單失敗")


下次想要在購物秒殺東西的小夥伴可以試試這個方法,小編已經買到了很多想要的東西啦,小夥伴們趕緊試試~更多Python學習推薦:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/132/viewspace-2832188/,如需轉載,請註明出處,否則將追究法律責任。

相關文章