Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTTP错误429:python geopy的请求太多_Python_Python Requests_Geopy_Http Status Code 429 - Fatal编程技术网

HTTP错误429:python geopy的请求太多

HTTP错误429:python geopy的请求太多,python,python-requests,geopy,http-status-code-429,Python,Python Requests,Geopy,Http Status Code 429,我有一个问题,我不知道如何解决。我想遍历一个文件,在这个文件中,我想将坐标转换为地理位置地址。代码运行良好,但在它遍历文件中一定数量的行之后,问题就出现了 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

我有一个问题,我不知道如何解决。我想遍历一个文件,在这个文件中,我想将坐标转换为地理位置地址。代码运行良好,但在它遍历文件中一定数量的行之后,问题就出现了

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()
。现在我想把它放在
打印
之前。我第一次运行代码时(没有
time.sleep()
),在出现此错误之前,他转换了大约1800行代码:

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

但是现在不管有没有
time.sleep()
它甚至都不做第一行,只是从一开始就出现了错误。你知道该怎么办吗?

看起来你正在使用的任何Web服务都阻止了你,很可能是通过你的IP地址。请稍等片刻,然后确保您对服务“友好”,例如,通过插入这些睡眠。

有没有办法检查我每秒钟、每分钟、每小时、每一天可以转换的最大值…??他们可能会在文档中的某个地方找到它。此代码与我输入的时间有什么不同。睡眠(0.1)就像我读代码一样,随着时间的推移,它限制在每秒10次?