私はPythonコーディングには新しく、APIとJSONについて最近学んだ。私は、乱数ジェネレータ(https://www.random.org/)と対話するための小さなテストコードを書きました。それはすごくうまくいっていますが、最近はJSONDecodeErrorをランダムかつ不定期に実行しています。それはときどき起こりますが、必ずしもそうではありません。コードを実行してエラーを取得し、何も変更しないで、10分後にコードを実行してエラーを表示しないようにすることができます。私はAPIがブラウザを介して実行されていることを確認するために二重チェックをしました。ここでは基本です:ランダムjson.decoder.JSONDecodeError:期待値:1行目(char 0)
書かれたと駆け抜ける:
PyCharmコミュニティ版2016年3月1日
ビルド#PC-163.9735.8、12月14日に建てられ、2016
JRE:1.8.0_112-リリース-408-をB6のx86
JVM:OpenJDKのサーバーVM JetBrainsのsro社によって
import requests
import json
print("Random Number Generator:")
print("========================")
# RANDOM NUMBER GEN
response01 = requests.get(
"https://www.random.org/integers/?num=1&min=1&max=999999999&col=1&base=10&format=plain&rnd=new")
data1 = response01.json()
print(type(data1))
print(data1)
このコードは、単にAPIから乱数を出力します。ここに私が得るランダムなエラーがあります:
Random Number Generator:
========================
Traceback (most recent call last):
File "C:/REDACTED/REDACTED/REDACTED/REDACTED/API Practice 2.py", line 10, in <module>
data1 = response01.json()
File "C:\Program Files (x86)\Python35-32\lib\site-packages\requests\models.py", line 850, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Program Files (x86)\Python35-32\lib\json\__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "C:\Program Files (x86)\Python35-32\lib\json\decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Program Files (x86)\Python35-32\lib\json\decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Process finished with exit code 1
私は持っている質問は2つの部分の並べ替えです。
A)このエラーの原因は何ですか?
B)それはなぜ(一見)ランダムに発生するのですか?
誰もが提供できる情報をありがとう。繰り返しますが、私はPythonのNOOBですので、私の無知や不足、教育をしてください。
注:REDACTED
は単なるプレースホルダです。
同じリクエストを発行すると、サーバーから503の応答が得られます。例えば。 'response01.json() '行の前に' print response01.status_code'を入力してください。 – abigperson
AH!それが私の新しいことです!私はそれを見落とした。私はちょうど私のコードが間違っていると仮定するようにまっすぐに行った。手伝ってくれてどうもありがとう! –
私は助けてくれることを嬉しく思います! – abigperson