我在编程方面是新手,我正在使用编程教程,其中说要像这样使用geopy:
import pandas, os, geopy
from geopy.geocoders import Nominatim
GeoLocator = Nominatim()但是在最后一行之后,我得到了这个错误:
/usr/local/lib/python3.7/site-packages/geopy/geocoders/osm.py:143: UserWarning:在默认的"geopy/1.17.0“
user_agent中使用Nominatim是非常不可取的,因为它违反了Nominatim的ToS https://operations.osmfoundation.org/policies/nominatim/,可能会导致403和429 HTTP错误。请用Nominatim(user_agent="my-application")指定一个自定义Nominatim(user_agent="my-application"),或者重写默认的user_agent__:geopy.geocoders.options.default_user_agent = "my-application"__。在重力场2.0中,这将成为一个例外。UserWarning
我的问题是,我应该如何更改我的代码来修复这个错误?
发布于 2018-10-02 15:57:32
您应该指定一个user_agent。诺米纳特姆服务运行在容量有限的捐赠服务器上,因此指定用户代理字段可以让Open更容易地跟踪谁在使用他们的服务。有关更详细的answer,请参见这里。
如果您不这样做,他们可能会阻止您的IP地址访问服务,因为这将违反他们的服务条款。
发布于 2020-04-22 13:49:19
nom = Nominatim(user_agent="http") --你必须提到你的用户代理(HTTP)--它就是关于IP地址的
https://stackoverflow.com/questions/52600278
复制相似问题