#python #api #swagger
#питон #API #развязность
Вопрос:
ИТАК, я работаю над получением всех элементов из API с помощью Python3, проблема в том, что когда я запускаю скрипт, он показывает мне только 100 , в то время как я знаю, что их больше 1000.
Я попытался использовать цикл while, но потерпел неудачу, повторив те же результаты
import requests
import json
def get_list_call(offset):
url = "https://link.com/monitoring/v1/switches"
querystring = {"limit":"%s"%limit,"offset":"%s"% offset}
headers = {
'Authorization': "Bearer Token",
'cache-control': "no-cache",
}
response = requests.request("GET", url, headers=headers,params=querystring)
return(response.text)
result = get_list_call(0)
data_json = json.loads(result)
count = (data_json['count'])
print (count)
Я вижу результаты по 20 пунктам
и считаю = 20
Комментарии:
1. Не похоже, что вы добавляете строку запроса к URL-адресу в любой момент перед отправкой запроса?
2. Спасибо ,,, Я отредактировал вопрос ,, дело в том, что каждый раз, когда я его запускаю, я получаю один и тот же список из 100 элементов (переключателей), поэтому я называю его (get_list_call) функцией, чтобы зациклить его и получить больше ,,, Я получаю бесконечный цикл для одного и того же списка.
3. Посмотрите документацию по API. они могут быть ограничены максимум 100, а затем использовать какую-то функцию подкачки, чтобы вы могли запросить следующий пакет.
Ответ №1:
Спасибо, ребята, за комментарии, так что я смог использовать флаг total в API, чтобы показать мне общее количество элементов, затем я использовал цикл while, чтобы получить их все.
Спасибо