我试图通过在for循环中迭代requests.get(url)来从stats.nba.com获取信息,每次迭代时url都会发生变化。如果我只是重复它一次,但两次或更多似乎给了错误,我不知道为什么。我是编程新手,所以任何信息都会有帮助。提前谢谢。这是我的代码:
import requests
import json
team_id = 1610612737
def get_data(url):
response = requests.get(url)
if response.status_code == 200:
data = response.json()
return data
else:
print(response.text)
print(response.status_code)
for i in range(30): # 30 NBA Teams
base_url = "http://stats.nba.com/stats/teamdetails?teamID="
team_url = base_url + str(team_id)
data = get_data(team_url)
## Do stuff ##
team_id +=1
如果我做了“for I in range(1):”这项工作,但如果范围大于1,则每次迭代的状态代码=400。谢谢你的帮助!
网站限制每秒的请求数,因此您需要包含特定的请求头或在脚本中添加延迟(第一个选项是这两个选项中最快和最可靠的)。
Headers方法:
然后将此添加到您的响应
get
:*如果使用此方法,则根本不需要延迟脚本。
延迟方法:似乎是击中或错过使用延迟,所以我不建议使用,除非绝对必要。
相关问题 更多 >
编程相关推荐