jdSeckill
jdSeckill copied to clipboard
现有程序安装完依赖环境后会报错
报错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
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"])