技术文章 > Python技术 > Python基础 > 正文

如何利用python源码下载进行下单?

小妮浅浅

秒杀购物的东西比较受欢迎,除了运气的因素,实力也是很重要的事情,手动秒下单,或者借助工具都是购买的方式之一。当然,虽然买了很多我们辛辛苦苦搬砖挣的钱,但是该买的还是要买的,在购买力上小编也从来没有认输过。趁着活动还没开始前,小编决定教大家如何用源码秒杀下单,购买到自己心爱的东西。


关于淘宝下单的思路,鉴于淘宝的厉害,相信基本上都是采用的无头浏览器,即selenium驱动浏览器模拟人工提交订单,如果能够破解下单的post参数是最好不过了,暂未研究!

淘宝下单流程:

第一步:登录

发现微博登录添加了验证码,不知道是不是异地还是更新了,故采用扫码登录。

 

第二步:购买/结算

其中采用购物车提交的方式会让你感觉流畅不少!

当然也可以直接商品页购买!

 

第三步:提交订单

 

第四步:支付订单(秒杀下单)

这里准点下单购买能够走到第三步就成功了,当然还有一个思路就是试试看移动端下单是否更加简单顺畅呢?

python的淘宝秒杀抢购下单源码参考

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
import requests
from datetime import datetime
 
path =r"C:\Users\Administrator\AppData\Local\Programs\Python\Python36\chromedriver.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("https://cart.taobao.com/cart.htm")
# 最大化浏览器
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='http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp',
                      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学习推荐:PyThon学习网教学中心

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 pycharm怎么导入源码
 python中doctest如何嵌入源码?
 如何用源码安装Python第三方模块?
 python爬虫案例:从网页上获取源码
相关视频章节
 Enum 的源码
推荐视频
视频教程分类