Python: requests.get, iterando la url en un bucle

Estoy intentando obtener información de stats.nba.com mediante la iteración de requests.get (url) en un bucle for, donde la url cambia en cada iteración. Si simplemente lo itero una vez que funciona, pero dos veces o más parece dar errores y no estoy seguro de por qué. Soy nuevo en la progtwigción, así que cualquier información será útil. Gracias por adelantado. Aquí está mi código:

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 

Si hago ‘for i in range (1):’ funciona, pero obtengo status_code = 400 para cada iteración si el rango es mayor que 1. ¡Gracias por la ayuda!

El sitio web limita las solicitudes por segundo, por lo que deberá incluir encabezados de solicitud específicos o poner un retraso en su script (la primera opción es la más rápida y probable de las dos).

Método de encabezados:

 ''' add under team_id = 1610612737 ''' HEADERS = {'user-agent': ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5)' 'AppleWebKit/537.36 (KHTML, like Gecko)' 'Chrome/45.0.2454.101 Safari/537.36'), 'referer': 'http://stats.nba.com/scores/'} 

Luego agrega esto a tu respuesta y get :

 response = requests.get(url, headers=HEADERS) 

* No debería necesitar tener un retraso en su secuencia de comandos si utiliza este método.

Método de retraso:

 import time time.sleep(10) # delays for 10 seconds (put in your loop) 

Parece un golpe o un error al usar una demora, así que no recomendaría usarlo a menos que sea absolutamente necesario.