python实现淘宝定时抢购简易版

python实现淘宝定时抢购简易版


前几天自己写了一个淘宝定时秒杀的代码,简易版的,原理很简单,首先获取淘宝服务器的时间,然后再通过模拟点击实现抢购,仅供娱乐。

获取淘宝服务器时间部分:
getTime.py:

import http.client
import time

if __name__ == '__main__':

    def get_webservertime(host):
        while True:
            try:
                conn = http.client.HTTPConnection(host)
                conn.request("GET", "/")
                r = conn.getresponse()
                ts = r.getheader('date')  # 获取http头date部分
                break
            except Exception as e:
                print(e)
                continue
        # 将GMT时间转换成北京时间
        ltime = time.strptime(ts[5:25], "%d %b %Y %H:%M:%S")
        ttime = time.localtime(time.mktime(ltime) + 8 * 60 * 60)
        dat = "%u-%02u-%02u" % (ttime.tm_year, ttime.tm_mon, ttime.tm_mday)
        tm = "%02u:%02u:%02u" % (ttime.tm_hour, ttime.tm_min, ttime.tm_sec)
        timeStr = dat + ' ' + tm
        return timeStr

主程序部分
mian.py:

import getTime
from selenium import webdriver
import time

print('请输入抢购开始时间:格式 2020-02-27 10:00:00')
runTime = input()
print('请登录淘宝,将物品加入购物车,在购物车勾选并等待')
time.sleep(3)

driver = webdriver.Firefox()	#打开火狐浏览器
driver.get('http://www.taobao.com/')
#窗口最大化显示
driver.maximize_window()
time.sleep(15)
while True:
    tbTime = getTime.get_webservertime('www.taobao.com')

    #判断时间是否达到
    if(runTime > tbTime):
        print('时间未到请等待')
        time.sleep(0.05)
    elif(runTime <= tbTime):
        print('时间到!!!')
        break;
    else:
        print('时间格式出错,程序退出')
startTime = time.time()
#开始抢购
while True:
    #找到结算并单击
    try:
        if driver.find_element_by_id('J_Go'):
            driver.find_element_by_id('J_Go').click()
            break
        time.sleep(0.05)
    except:
        print('\'结算\'按钮未找到,继续等待')
        time.sleep(0.05)

while True:
    #找到提交订单并点击
    try:
        if driver.find_element_by_class_name('go-btn'):
            driver.find_element_by_class_name('go-btn').click()
            break
        time.sleep(0.05)
    except:
        print('\'提交订单\'按钮未找到,继续等待')
        time.sleep(0.05)
endTime = time.time()
totalTime = endTime - startTime
print('抢购耗时'+str(totalTime)+'秒')

time.sleep(5)
if driver.find_element_by_id('J_authSubmit'):
    print('订单提交成功,快去支付吧')
else:
    print('订单提交失败,程序退出')



发布了4 篇原创文章 · 获赞 12 · 访问量 1517

猜你喜欢

转载自blog.csdn.net/weixin_44520088/article/details/104699864
今日推荐