Para muchas API (la mayoría que he visto), la limitación de imagen es una función de sus credenciales API Key u OAuth. (Google, Twitter, NOAA, Yahoo, Facebook, etc.) La buena noticia es que no necesitará falsificar su IP, solo tendrá que cambiar las credenciales cuando alcancen el límite de velocidad.
Un poco de auto promoción descarada aquí, pero escribí un paquete de Python específicamente para manejar este problema.
https://github.com/rawkintrevo/angemilner
https://pypi.python.org/pypi/angemilner/0.2.0
Requiere un demonio mongodb y básicamente haces una página para cada una de tus claves. Entonces tiene 4 direcciones de correo electrónico cada una con una clave separada asignada. Cuando carga la clave, especifica las llamadas máximas por día y el tiempo mínimo entre usos.
Cargar claves:
from angemilner import APIKeyLibrarian
l= APIKeyLibrarian()
l.new_api_key("your_assigned_key1", 'noaa', 1000, .2)
l.new_api_key("your_assigned_key2", 'noaa', 1000, .2)
Luego, cuando ejecuta su raspador, por ejemplo, la API de NOAA:
url= 'http://www.ncdc.noaa.gov/cdo-web/api/v2/stations'
payload= { 'limit': 1000,
'datasetid': 'GHCND',
'startdate': '1999-01-01' }
r = requests.get(url, params=payload, headers= {'token': 'your_assigned_key'})
se convierte en:
url= 'http://www.ncdc.noaa.gov/cdo-web/api/v2/stations'
payload= { 'limit': 1000,
'datasetid': 'GHCND',
'startdate': '1999-01-01' }
r = requests.get(url, params=payload, headers= {'token': l.check_out_api_key('noaa')['key']})
por lo tanto, si tiene 5 claves, l.check_out_api_key
devuelve la clave que tiene menos usos y espera hasta que haya transcurrido el tiempo suficiente para que se pueda volver a utilizar.
Finalmente, para ver con qué frecuencia se han utilizado sus claves / uso restante disponible:
pprint(l.summary())
No escribí esto para R porque la mayoría del raspado se realiza en python (la mayor parte de MI raspado). Podría ser fácilmente portado.
Así es como técnicamente puede evitar la limitación de velocidad. Éticamente ...
ACTUALIZACIÓN El ejemplo utiliza la API de Google Places aquí