我正在尝试在网页上查找国家/城市。所以我用了Geograpy。但它无法正常工作。注意:给定的网站包含美国的所有州网站 = http://state.1keydata.com/
import geograpy
url='http://state.1keydata.com/'
place=geograpy.get_place_context(url=url)
print place.countries #[]
print place.cities #[]
我已经安装了所有必需的软件包,例如georapy,nltk(all(我正在使用蟒蛇。
如果我错了,请指导。
提前谢谢你:)
您要测试的页面在现场使用不正确的证书,这导致了我没有尝试解决的不同问题。相反,我正在使用:https://en.wikipedia.org/wiki/U.S._state
作为示例。
作为 geograpy3的提交者来重现您的问题,我在最新的 geograpy3 https://github.com/somnathrakshit/geograpy3/blob/master/tests/test_extractor.py 中添加了一个测试:
def testStackoverflow43322567(self):
'''
see https://stackoverflow.com/questions/43322567/python-geograpy-is-not-finding-cities-in-usa
'''
url='https://en.wikipedia.org/wiki/U.S._state'
e=Extractor(url=url)
places=e.find_geoEntities()
self.check(places,['Alabama','Virginia','New York'])
您测试的页面不包含任何城市或国家/地区名称,因此您得到空结果也就不足为奇了。
我发现手动重新安装所有必需的软件包以及对地理库文件进行调整就可以解决问题。查看此内容以获取更多详细信息。
- lxml
- 美汤
- 枕头
接下来,我从命令行运行命令python nltk.download()
完成这些步骤后,我收到另一条错误消息:
Traceback (most recent call last):
File "ExtractLocation_geograpy.py", line 5, in <module>
places = geograpy.get_place_context(text = text1)
File "C:UsersAvardhanDocumentsCVS_POC.envlibsite-packagesgeograpy__init__.py", line 11, in get_place_context
pc.set_cities()
File "C:UsersAvardhanDocumentsCVS_POC.envlibsite-packagesgeograpyplaces.py", line 174, in set_cities
self.country_cities[country.name] = []
通过用country_name
替换country.name
,我最终能够获得所需的输出。