gpt4 book ai didi

python - Geopy:捕获超时错误

转载 作者:IT老高 更新时间:2023-10-28 20:52:20 29 4
gpt4 key购买 nike

我正在使用 geopy 对一些地址进行地理编码,我想捕捉超时错误并将它们打印出来,以便我可以对输入进行一些质量控制。我将地理编码请求放在 try/catch 中,但它不起作用。关于我需要做什么的任何想法?

这是我的代码:

try:
location = geolocator.geocode(my_address)
except ValueError as error_message:
print("Error: geocode failed on input %s with message %s"%(a, error_message))

我得到以下异常:

File "/usr/local/lib/python2.7/site-packages/geopy/geocoders/base.py", line 158, in _call_geocoder
raise GeocoderTimedOut('Service timed out')
geopy.exc.GeocoderTimedOut: Service timed out

提前谢谢你!

最佳答案

试试这个:

from geopy.geocoders import Nominatim
from geopy.exc import GeocoderTimedOut

my_address = '1600 Pennsylvania Avenue NW Washington, DC 20500'

geolocator = Nominatim()
try:
location = geolocator.geocode(my_address)
print(location.latitude, location.longitude)
except GeocoderTimedOut as e:
print("Error: geocode failed on input %s with message %s"%(my_address, e.message))

您还可以考虑增加对地理定位器进行地理编码调用的超时时间。在我的示例中,它将类似于:

location = geolocator.geocode(my_address, timeout=10)

location = geolocator.geocode(my_address, timeout=None)

关于python - Geopy:捕获超时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27914648/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com