You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
3.4 KiB

import time
import sys
import os
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)
from multiprocessing import Process
import requests
from tools import utils
from JDMain import JDSecKillSubmit
from api_timer import JDTimer
def syncTime():
jdTimer = JDTimer()
return jdTimer.local_jd_time_diff()
def yuyueSku(sku, ck):
jdapi = JDSecKillSubmit(sku, ck)
jdapi.appoint_task()
def killSku(sku, ck):
jdapi = JDSecKillSubmit(sku, ck)
for i in range(5):
print('%d次kill---------------------------->' % i)
if jdapi.killSku():
break
def work(killTime, ck):
print('ck:', ck)
sku = '100012043978'
killTimeTs = utils.getTimeStamp(killTime, format='%Y-%m-%d %H:%M:%S.%f')
syncedTime = False
hasYuyue = False
timeDiff = 0 # 时差
nowTimeTs = int(time.time() * 1000)
killDiff = killTimeTs - nowTimeTs
print("时间剩余%s" % str(int(killDiff / 1000)))
while True:
nowTimeTs = int(time.time() * 1000)
killDiff = killTimeTs - nowTimeTs
if killDiff < 5 * 60 * 1000 and not syncedTime:
syncedTime = True
timeDiff = syncTime()
print("时差:%s" % str(timeDiff))
killTimeTs = killTimeTs + timeDiff
elif killDiff < 2 * 60 * 1000 and not hasYuyue:
hasYuyue = True
yuyueSku(sku=sku, ck=ck)
elif killDiff < 0:
print("时差:%s" % str(timeDiff))
killSku(sku=sku, ck=ck)
break
time.sleep(0.01)
if __name__ == '__main__':
# 抢购时间
killTime = '2022-12-06 11:59:59.800'
# cookie
cks = [
'pin=jd_750700f5195f0;wskey=AAJhfBLfAEBqephMIivF_qe0wD2ALX3VJxWoA5YIKp3WrFhdrjgPtFy3EQTscDVSM0GZTo3FWki8mlfFfDa5ZBYkK7RpaYl0;whwswswws=JD012145b9L1kYqSIIVh1669867133617042YScLrIw0J2pSV42VSbQzxSFSMO4WNQNG-dzoX0ej9hBIs7LthXd1TlUUURcukNRbUy0TljWfryXK8g540WfOA1h9e9z8~hW9ObQK0NZBV/1xYy9D6vrzuPqkrcWq4AWG3GW2+G9hgqopv50Z1vm2TkVFMqfuvY;unionwsws={"devicefinger":"eidA13888122eas2V6hvBVpKROOoFpvKZGcPpFeocHqYgwWUSHErNoRA\/SNIEL60pkTbum5wPvwz4nt1KXsnsQAMiRK8a59ha4QioKn7vd1BjB7XTBxv","jmafinger":"JD012145b9L1kYqSIIVh1669867133617042YScLrIw0J2pSV42VSbQzxSFSMO4WNQNG-dzoX0ej9hBIs7LthXd1TlUUURcukNRbUy0TljWfryXK8g540WfOA1h9e9z8~hW9ObQK0NZBV\/1xYy9D6vrzuPqkrcWq4AWG3GW2+G9hgqopv50Z1vm2TkVFMqfuvY"};',
'pin=jd_4a92ba8a78fc4;wskey=AAJjjq6LAECdB0277RUdMtFp_nlVrVZ9-2qxFkHTlrBRfN1rIJVxHw57k7Z8wLOhPOg97zHD1LeXKlvd1wYdV5KRpZ-nay68;whwswswws=JD012145b90LxtB6wpYp1670296552304054gEHLRaVyPQOncWsG0BE4qfs9IdhaDoxAQmXFgbVMKxtjG3SRYxceSPHcK_4MWunpZOtl2gOd_J9Rk8rPUEagA1s6y1up~aNM8HpcMTEw26Wv4Mmm5-XSO29KbUckNTfFez79ZhogoqbQz0hSdPJymYsYGaojL5K6ylT109w26jBZEVWPzFGhei8vefTLtYgrG5IEKf14-iHygNMGHV48_JAlZ6PaTUfp1yKtWLTW-azHBwuXL1Ng;unionwsws={"devicefinger":"eidAe0b5812186sfe5v04hQDTnyS2tLqsQ92WXub9mb5W9SSEc91xZpb1rMkQVzJLx7bUlVO3RslJBcr2uBsHUm8L9SEbYq5T9U\/O5XOjLXR5F79wV5y","jmafinger":"JD012145b90LxtB6wpYp1670296552304054gEHLRaVyPQOncWsG0BE4qfs9IdhaDoxAQmXFgbVMKxtjG3SRYxceSPHcK_4MWunpZOtl2gOd_J9Rk8rPUEagA1s6y1up~aNM8HpcMTEw26Wv4Mmm5-XSO29KbUckNTfFez79ZhogoqbQz0hSdPJymYsYGaojL5K6ylT109w26jBZEVWPzFGhei8vefTLtYgrG5IEKf14-iHygNMGHV48_JAlZ6PaTUfp1yKtWLTW-azHBwuXL1Ng"};'
]
p = []
for i in range(len(cks)):
p1 = Process(target=work, args=(killTime, cks[i],))
p1.start()
p.append(p1)
for i in range(len(cks)):
p[i].join()