Vous ne pouvez pas sélectionner plus de 25 sujets
Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
82 lignes
2.7 KiB
82 lignes
2.7 KiB
il y a 2 ans
|
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-11-09 11:59:59.800'
|
||
|
|
||
|
# cookie
|
||
|
cks = [
|
||
|
'pin=jd_41d74c83f8224;wskey=AAJjKGIcAED51MS4xl3rMhkuKoz3aIdtHgYbbY_gONAtDcvoXgp0nCjPWKcjgXoBw3ZNcm-HVECeryK5NBFQiErqyGbAcqt-;whwswswws=JD012145b9WBZ52FxcoJ166359098310502j1UGQOp_xw1sHnZf2TBLxIAVcI1pr_ptSG7GbI4Jh8JHPzpgXIVd6vHgcp4KUP7bIcL92ot4SobMNdIjsb6CeO0xXfdGg1DB166dh3n~lV6zvij0xVW8O87RwFvqyq8bfocRq2uG0yIAc6GJfPzG3Vt7W-bSkl68yzw3cggRUZpEKUJ0VpkW0x0Q0aGrCFLasnWujHANJMp2D1tUHzbtF-NKQkCBUiGE1ZKdTwYkeVoNQaOoU87ivURTKramyPzaIW67BRI6kPNkr3PLHsHc;unionwsws={"devicefinger":"eidAfa90812247s5vgf0CkxeRgeWBZfWowyK9r4H9Y2h1wPWRDa\/+LyYAJea3ooTv4ePNmFFv1ZArvKR74Nk1rlZWoaTpHUgZCeqmC5Lix6Hz1eGUEN6","jmafinger":"JD012145b9WBZ52FxcoJ166359098310502j1UGQOp_xw1sHnZf2TBLxIAVcI1pr_ptSG7GbI4Jh8JHPzpgXIVd6vHgcp4KUP7bIcL92ot4SobMNdIjsb6CeO0xXfdGg1DB166dh3n~lV6zvij0xVW8O87RwFvqyq8bfocRq2uG0yIAc6GJfPzG3Vt7W-bSkl68yzw3cggRUZpEKUJ0VpkW0x0Q0aGrCFLasnWujHANJMp2D1tUHzbtF-NKQkCBUiGE1ZKdTwYkeVoNQaOoU87ivURTKramyPzaIW67BRI6kPNkr3PLHsHc"};',
|
||
|
]
|
||
|
|
||
|
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()
|