从另一个api请求获取数组后,我正在使用请求库来映射请求数组。我正在为请求使用循环,但是我确定有更好的方法来执行此操作,因为此API请求可以包含500多个项目,因此完成此循环有时需要20余分钟。
我尝试使用grequests库,但不断收到递归投诉。我希望尽可能使用async / map方法,但经过研究后显然不再支持异步库。
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+的数组,因此该方法应该可扩展。
答案 0 :(得分:0)
请求是同步的,因此您的脚本等待响应以发出新请求。 因此,也许您应该研究aiohttp和异步请求。
答案 1 :(得分:0)