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 iterarse a través de un cierto número de líneas en el archivo ocurre 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 leo de otras preguntas que debería usar time.sleep() . Ahora quería ponerlo antes de la print . La primera vez que time.sleep() mi código (sin time.sleep() ) llegó a aproximadamente 1800 líneas que convirtió antes de recibir este error:

  raise GeocoderServiceError(message) geopy.exc.GeocoderServiceError: HTTP Error 429: Too Many Requests 

Pero ahora, con o sin el time.sleep() ni siquiera hace la primera línea, simplemente se rompe desde el principio con el error. ¿Alguna idea de qué hacer?

Parece que cualquier servicio web que esté utilizando lo ha bloqueado, probablemente a través de su dirección IP. Espere un momento y luego asegúrese de estar siendo “amigable” con el servicio, por ejemplo, insertando esos “sleeps”.