Для многих API (большинство из которых я видел) ограничение скорости является функцией ваших ключей API или учетных данных OAuth. (Google, Twitter, NOAA, Yahoo, Facebook и т. Д.) Хорошая новость заключается в том, что вам не нужно подделывать свой IP-адрес, вам просто нужно поменять учетные данные, поскольку они достигли ограничения скорости.
Немного постыдного саморекламы здесь, но я написал пакет на python специально для решения этой проблемы.
https://github.com/rawkintrevo/angemilner
https://pypi.python.org/pypi/angemilner/0.2.0
Для этого требуется демон mongodb, и в основном вы создаете страницу для каждого из ваших ключей. Таким образом, у вас есть 4 адреса электронной почты, каждый с назначенным отдельным ключом. Когда вы загружаете ключ, вы указываете максимальное количество звонков в день и минимальное время между использованиями.
Загрузить ключи:
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)
Затем, когда вы запускаете свой скребок, например, API-интерфейс 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'})
будет выглядеть так:
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']})
таким образом, если у вас есть 5 ключей, l.check_out_api_key
возвращает ключ, который используется меньше всего, и ждет, пока не пройдет достаточно времени для его повторного использования.
Наконец, чтобы увидеть, как часто ваши ключи использовались / доступны для использования:
pprint(l.summary())
Я не писал это для R, потому что большая часть очистки выполняется на python (большая часть моей очистки). Это может быть легко перенесено.
Вот как вы можете технически обойти ограничение скорости. Этически ...
ОБНОВЛЕНИЕ Пример использует Google Places API здесь