这种问题是Python程序的问题还是代码的问题?
论坛的茅台程序运行一直很正常,突然就报这个错误了,小白不太懂,看提示应该是爬虫报错吧?Traceback (most recent call last):
File "F:\jd_maotai_seckill-master\main.py", line 23, in <module>
jd_seckill = JdSeckill()
File "F:\jd_maotai_seckill-master\jd_spider_requests.py", line 278, in __init__
self.timers = Timer()
File "F:\jd_maotai_seckill-master\timer.py", line 24, in __init__
self.diff_time = self.local_jd_time_diff()
File "F:\jd_maotai_seckill-master\timer.py", line 48, in local_jd_time_diff
return self.local_time() - self.jd_time()
File "F:\jd_maotai_seckill-master\timer.py", line 33, in jd_time
js = json.loads(ret)
File "C:\Users\dhs\AppData\Local\Programs\Python\Python39\lib\json\__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "C:\Users\dhs\AppData\Local\Programs\Python\Python39\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\dhs\AppData\Local\Programs\Python\Python39\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 小白也不懂 这是好像是Json解析数据出错,解析的数据好像不满足JSON要求的格式 你把ret输出到控制台看看具体是什么数据 json.loads(ret)这段代码的问题,意思是字符串转json解析出错,你打印下ret是什么东西 盲猜是因为之前抓的接口的数据迭代了。之前的爬虫自然就不能用了。 是返回的数据发生了变化导致程序报错。ret是非标准化的json字符串,json.loads无法转换所以报错 猜得不错的话,应该是 http请求正常返回的是json,结果现在返回的是 404 或者其他错误,格式不是json,自己调试一下就知道了 json格式的问题 如果你的json格式正常的话,大概率是你的引号不对 python json.loads 支持的字符串中的引号必须是双引号
推荐使用demjson 这个兼容性好些 第33行报错了,因为响应的数据ret不是json格式的字符串。你可以打印下ret试试,然后报错了看下打印的是什么,到对应的url看下是否响应正确。
页:
[1]
2