Я использую библиотеку запросов для сопоставления массива запросов после получения массива из другого запроса API. Я использую цикл для запросов, но я уверен, что есть лучший способ сделать это, потому что этот запрос API может иметь более 500 элементов, поэтому завершение этого цикла занимает иногда более 20 минут.
Я пытался использовать библиотеку grequests и продолжал получать жалобы на рекурсию. Я хотел бы использовать метод async / map, если это возможно, но после исследования, очевидно, библиотека async больше не поддерживается.
self.set_header("Access-Control-Allow-Origin", "*")
response = requests.get("https://hacker-news.firebaseio.com/v0/paststories.json?print=pretty")
data = response.json()
story_list = []
for story in data:
temp_string = "https://hacker-news.firebaseio.com/v0/item/{}.json?print=pretty".format(story)
story_data = requests.get(temp_string)
story_list.append(story_data.json())
Должен быть лучший способ сделать это зацикливание, чем текущий метод, потому что получение данных более 20 минут неприемлемо. Ответ API в исходном массиве может возвращать массив 500+, поэтому метод должен быть масштабируемым.