Error HTTP 429: demasiadas solicitudes por python geopy
Tengo un problema que no estoy seguro de cómo resolver. Quiero iterar a través de un archivo donde quiero convertir las coordenadas a la dirección de geolocalización. El código funciona bien, pero después de pasar por un cierto número de líneas en el archivo se produce el problema.
from __future__ import print_function
from geopy.geocoders import Nominatim
from shapely.wkt import loads as load_wkt
from shapely.geometry import Point, Polygon
import io
import re
import ast
import time
geolocator = Nominatim()
with io.open('sample_test2.txt', encoding="utf-8") as f, io.open('sample_test3.txt', 'w',encoding="utf-8") as g:
for line in f:
m = re.sub(r'(70[0-9]+,).*', r'\1', line.rstrip())
z = re.sub(r'.*POINT \([0-9]+.[0-9]+ -[0-9]+.[0-9]+\)(.*)', r'\1', line.rstrip())
c = re.sub(r'.*POINT \(([0-9]+.[0-9]+) (-[0-9]+.[0-9]+)\).*', r'"\1, \2"', line.rstrip())
k = ast.literal_eval(c)
location = geolocator.reverse(k, timeout=60)
h = location.address
j = re.sub(r'.*, ([^,]+, [^,]+), [0-9]+, United.*', r'\1', h.rstrip())
print (m, j, z, file = g)
f.close()
g.close()
Ahora leí algunas otras preguntas que debería usartime.sleep()
. Ahora quería ponerlo antes delprint
. La primera vez que ejecuto mi código (sintime.sleep()
) llegó a alrededor de 1800 líneas que convirtió antes de obtener este error:
raise GeocoderServiceError(message)
geopy.exc.GeocoderServiceError: HTTP Error 429: Too Many Requests
Pero ahora con o sin eltime.sleep()
ni siquiera hace la primera línea, solo se rompe desde el principio con el error. ¿Alguna idea de qué hacer?