Как не превышать лимит запросов API Карт Google при пакетном геокодировании? - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь пакетировать геокодирование 12 267 адресов с помощью API геокодирования Карт Google. Вот мой код:

from googlemaps import Client as GoogleMaps
import pandas as pd

addresses = pd.read_csv("Full_Addresses.csv")
addresses['lat'] = ""
addresses['long'] = ""

gmaps = GoogleMaps('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')

for x in range(len(addresses)):

    geocode_result = gmaps.geocode(addresses['Full_Address'][x])
    addresses['lat'][x] = geocode_result[0]['geometry']['location']['lat']
    addresses['long'][x] = geocode_result[0]['geometry']['location']['lng']

addresses.to_csv('address_coords.csv')

Всякий раз, когда я запускаю это в моем списке адресов, я получаю сообщение об ошибке:

Traceback (most recent call last):
File "/Users/upaasana/lpthw/HDB_finder2.py", line 14, in <module>
addresses['lat'][x] = geocode_result[0]['geometry']['location']['lat']
IndexError: list index out of range

Но если я сокращаю список в моем CSV-файле до пяти адреса, скрипт работает отлично. Так что я думаю, что я достигаю предела количества запросов API.

Как я могу изменить свой скрипт, чтобы мои запросы в секунду находились в пределах ограничения Google в 50 запросов в секунду?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...