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 # 时差 while True: nowTimeTs = int(time.time() * 1000) killDiff = killTimeTs - nowTimeTs print("时间剩余%s秒" % str(int(killDiff / 1000))) 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"};', ] 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()