我对速率限制有疑问。 我从CSV中获取数据并将其输入查询,输出存储在列表中。 我收到错误,因为我立刻提出了太多请求。 (我每秒只能发出20个请求)。我如何确定速率限制?
import requests
import pandas as pd
df = pd.read_csv("Data_1000.csv")
list = []
def requestSummonerData(summonerName, APIKey):
URL = "https://euw1.api.riotgames.com/lol/summoner/v3/summoners/by-name/" + summonerName + "?api_key=" + APIKey
response = requests.get(URL)
return response.json()
def main():
APIKey = (str)(input('Copy and paste your API Key here: '))
for index, row in df.iterrows():
summonerName = row['Player_Name']
responseJSON = requestSummonerData(summonerName, APIKey)
ID = responseJSON ['accountId']
ID = int(ID)
list.insert(index,ID)
df["accountId"]= list
答案 0 :(得分:2)
如果您已经知道每秒只能发出20个请求,那么您只需计算每个请求之间等待的时间:
将1秒除以20,这应该给你0.05。所以你只需要在每个请求之间休眠0.05秒,你就不应该达到极限(如果你想要安全的话,可能会增加一点)。
位于文件顶部的 import time
,然后time.sleep(0.05)
循环中的for
(您也可以time.sleep(1/20)
}