Etsy API を介して特定の情報を取得する小さなスクリプトを作成しようとしています。API は 25 の異なるリストをすべて json で返します。一度に 1 つずつ処理する方法を誰かが教えてくれれば幸いです。
これが私が扱っているjsonの例です:
{"count":50100,"results":[{"listing_id":114179207,"state":"active"},{"listing_id":11344567,"state":"active"},
等々。
API に対して行う必要がある呼び出しの量を最小限に抑えるために、これらのリストを一度に 1 つだけ処理する簡単な方法はありますか?
返される結果を 1 に制限するときに、1 つだけを処理する方法のコードの一部を次に示します。
r = requests.get('http://openapi.etsy.com/v2/listings/active?api_key=key&limit=1&offset='+str(offset_param)+'&category=Clothing')
raw_json = r.json()
encoded_json = json.dumps(raw_json)
dataObject = json.loads(encoded_json)
if dataObject["results"][0]["quantity"] > 1:
if dataObject["results"][0]["listing_id"] not in already_done:
already_done.append(dataObject["results"][0]["listing_id"])
s = requests.get('http://openapi.etsy.com/v2/users/'+str(dataObject["results"][0]["user_id"])+'/profile?api_key=key')
raw_json2 = s.json()
encoded_json2 = json.dumps(raw_json2)
dataObject2 = json.loads(encoded_json2)
t = requests.get('http://openapi.etsy.com/v2/users/'+str(dataObject["results"][0]["user_id"])+'?api_key=key')
raw_json3 = t.json()
encoded_json3 = json.dumps(raw_json3)
dataObject3 = json.loads(encoded_json3)