Ошибка HTTP 429: слишком много запросов от python geopy
У меня есть проблема, которую я не знаю, как решить. Я хочу перебрать файл, в котором я хочу преобразовать координаты в адрес геолокации. Код работает нормально, но после того, как он перебирает определенное количество строк в файле, возникает проблема.
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()
Теперь я прочитал некоторые другие вопросы, которые я должен использоватьtime.sleep()
, Теперь я хотел поставить его передprint
, Первый раз, когда я запускаю свой код (безtime.sleep()
) он получил около 1800 строк, которые он преобразовал перед тем, как получить эту ошибку:
raise GeocoderServiceError(message)
geopy.exc.GeocoderServiceError: HTTP Error 429: Too Many Requests
Но теперь с или безtime.sleep()
он даже не делает первую строку, он просто разрывается с самого начала с ошибкой. Есть идеи, что делать?