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(订单提交失败,程序退出)
