А вы сталкивались с тем, что такой код не ловит JSONDecodeError?
from json import JSONDecodeError
try:
data = resp.json()
except JSONDecodeError:
...
resp - это ответ от requests
>>> get('https://www.youtube.com/watch?v=DjVB2P15iUo').json()(
...
KeyboardInterrupt
>>> get('https://www.youtube.com/watch?v=DjVB2P15iUo').json()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/tynuk/.local/lib/python3.6/site-packages/requests/models.py", line 897, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/lib/python3/dist-packages/simplejson/__init__.py", line 518, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 370, in decode
obj, end = self.raw_decode(s)
File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 400, in raw_decode
return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
>>>