为什么在Python中使用请求和json模块时会出现此错误?

为什么在Python中使用请求和json模块时会出现此错误?,python,json,python-requests,Python,Json,Python Requests,我一直在尝试用python处理数千个请求,然后将它们写入json文件。出于某种原因,每当我运行代码时,都会出现以下错误: File "C:\Program Files (x86)\Wing IDE 101 5.1\src\debug\tserver\_sandbox.py", line 133, in <module> File "C:\Program Files (x86)\Wing IDE 101 5.1\src\debug\tserver\_sandbox.py", line

我一直在尝试用python处理数千个请求,然后将它们写入json文件。出于某种原因,每当我运行代码时,都会出现以下错误:

File "C:\Program Files (x86)\Wing IDE 101 5.1\src\debug\tserver\_sandbox.py", line 133, in <module>
File "C:\Program Files (x86)\Wing IDE 101 5.1\src\debug\tserver\_sandbox.py", line 44, in main
File "E:\Python Programs\API Challenge Aug 2015\API Challenge Files\Execute Requests Files\RiotAPI.py", line 112, in get_match_by_matchid
 return self._request(api_url, region)
File "E:\Python Programs\API Challenge Aug 2015\API Challenge Files\Execute Requests Files\RiotAPI.py", line 58, in _request
 return response.json()
File "C:\Python\Lib\site-packages\requests\models.py", line 819, in json
 return json.loads(self.text, **kwargs)
File "C:\Python\Lib\json\__init__.py", line 318, in loads
 return _default_decoder.decode(s)
File "C:\Python\Lib\json\decoder.py", line 343, in decode
 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python\Lib\json\decoder.py", line 361, in raw_decode
 raise ValueError(errmsg("Expecting value", s, err.value)) from None
builtins.ValueError: Expecting value: line 1 column 1 (char 0)
文件“C:\Program Files(x86)\Wing IDE 101 5.1\src\debug\tserver\\u sandbox.py”,第133行,在 文件“C:\Program Files(x86)\Wing IDE 101 5.1\src\debug\tserver\\u sandbox.py”,第44行,在main中 文件“E:\Python Programs\API Challenge 2015年8月\API Challenge Files\Execute Requests Files\RiotAPI.py”,第112行,按匹配ID获取匹配 返回自我请求(api\U url,地区) 文件“E:\Python Programs\API Challenge 2015年8月\API Challenge Files\Execute Requests Files\RiotAPI.py”,第58行,在请求中 返回response.json() json格式的文件“C:\Python\Lib\site packages\requests\models.py”,第819行 返回json.load(self.text,**kwargs) 文件“C:\Python\Lib\json\\ uuuuu init\uuuuuu.py”,第318行,加载 返回\u默认\u解码器。解码 文件“C:\Python\Lib\json\decoder.py”,第343行,在decode中 obj,end=self.raw\u decode(s,idx=\u w(s,0.end()) 文件“C:\Python\Lib\json\decoder.py”,第361行,原始解码 从“无”引发ValueError(errmsg(“期望值”,s,err.value)) builtins.ValueError:预期值:第1行第1列(字符0) 请注意,错误将发生在看似随机的请求数之后。有时它会在10个请求之后发生,有时会在错误发生之前持续几百个请求。我已经尝试了很多次了,但是在相同数量的请求之后,它并没有崩溃

我使用的导致此错误的文件在方法上与您在此处看到的帖子相同:


我相信我的错误来自同一个问题,你会发现在该线程,但据我所知,答案是从来没有找到。有人能帮我解决这个问题吗?

你能提供示例数据来说明这个问题吗?当然,但请注意每个请求。get响应大约有1800行,下面是一个包含典型响应的要点。所有其他回复的格式都相同,信息也各不相同。只是为了补充我的评论,请考虑一下:当我提出一个请求并得到它作为一个响应,它通常会工作得很好。如果我运行了两次程序,并且request.get响应在第一次不起作用,那么毫无疑问,它在下一次运行时会起作用,并且会被忽略,就像什么都没有一样。这看起来确实很奇怪,因为它一次不能工作,下一次就完全正常了。你确定请求失败时实际返回的是数据吗?不仅仅是该URL上的实际数据,而是在尝试检索该URL的特定调用中实际返回的数据?可能是某种服务器或连接故障导致它仅在某些调用中返回格式错误的数据。调试可能会很困难,因为这可能意味着错误不在代码中,而是在传输管道中的某个地方。嗯,实际返回的数据格式不太好,而是一行难看的代码。下面是与实际看到的相同的返回数据:我认为格式错误的数据是完全可能的,这就是为什么它在本质上看起来是“随机的”哪个请求。get失败了吗?如果是这样的话,你对我这方面能做些什么有什么想法吗?如果返回的请求有问题,是否可能跳过该请求?