jdSeckill icon indicating copy to clipboard operation
jdSeckill copied to clipboard

现有程序安装完依赖环境后会报错

Open bladetin opened this issue 3 years ago • 0 comments

报错1: C:\Users\Tin\Desktop\jdSeckill-main>python main.py Traceback (most recent call last): File "C:\Users\Tin\Desktop\jdSeckill-main\main.py", line 35, in <module main() File "C:\Users\Tin\Desktop\jdSeckill-main\main.py", line 12, in main seckill = JdSecKill() File "C:\Users\Tin\Desktop\jdSeckill-main\seckill.py", line 18, in __in self.timer = Timer() File "C:\Users\Tin\Desktop\jdSeckill-main\mytimer.py", line 23, in _in self.diff_time = self.local_jd_time_diff() File "C:\Users\Tin\Desktop\jdSeckill-main\mytimer.py", line 49, in loca return self.local_time() - self.jd_time() File "C:\Users\Tin\Desktop\jdSeckill-main\mytimer.py", line 37, in jd_t js = json.loads(ret) File "C:\Users\Tin\anaconda3\lib\json_init.py", line 346, in loads return _default_decoder.decode(s) File "C:\Users\Tin\anaconda3\lib\json\decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "C:\Users\Tin\anaconda3\lib\json\decoder.py", line 355, in raw_dec raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

原因1: 原有京东时间url现在不能用了,所以需要更改。

修改1: url = 'https://a.jd.com//ajax/queryServerData.html' 改成 url = 'https://api.m.jd.com/client.action?functionId=queryMaterialProducts&client=wh5'

报错2: C:\Users\Tin\Desktop\jdSeckill-main>python main.py Traceback (most recent call last): File "C:\Users\Tin\Desktop\jdSeckill-main\main.py", line 35, in <module main() File "C:\Users\Tin\Desktop\jdSeckill-main\main.py", line 12, in main seckill = JdSecKill() File "C:\Users\Tin\Desktop\jdSeckill-main\seckill.py", line 18, in __in self.timer = Timer() File "C:\Users\Tin\Desktop\jdSeckill-main\mytimer.py", line 26, in _in self.diff_time = self.local_jd_time_diff() File "C:\Users\Tin\Desktop\jdSeckill-main\mytimer.py", line 52, in loca return self.local_time() - self.jd_time() File "C:\Users\Tin\Desktop\jdSeckill-main\mytimer.py", line 40, in jd_t js = json.loads(ret) File "C:\Users\Tin\anaconda3\lib\json_init.py", line 346, in loads return _default_decoder.decode(s) File "C:\Users\Tin\anaconda3\lib\json\decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) Traceback (most recent call last): File "C:\Users\Tin\Desktop\jdSeckill-main\main.py", line 35, in main() File "C:\Users\Tin\Desktop\jdSeckill-main\main.py", line 12, in main seckill = JdSecKill() File "C:\Users\Tin\Desktop\jdSeckill-main\seckill.py", line 18, in init self.timer = Timer() File "C:\Users\Tin\Desktop\jdSeckill-main\mytimer.py", line 26, in init self.diff_time = self.local_jd_time_diff() File "C:\Users\Tin\Desktop\jdSeckill-main\mytimer.py", line 53, in local_jd_time_diff
return self.local_time() - self.jd_time() File "C:\Users\Tin\Desktop\jdSeckill-main\mytimer.py", line 42, in jd_time return int(js["serverTime"]) KeyError: 'serverTime'

原因2:更改后的url,时间戳对应key值不再是'serverTime'

更改2: return int(js["serverTime"]) 改为 return int(js["currentTime2"])

bladetin avatar Feb 22 '22 14:02 bladetin