首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MaxMind GeoLite2返回错误的位置

MaxMind GeoLite2返回错误的位置
EN

Stack Overflow用户
提问于 2015-08-22 05:08:48
回答 2查看 1K关注 0票数 0

当我使用ip = '104.6.30.56‘(从Python)查询GeoLite2-City.mmdb数据库时,我得到了错误的位置。他们的演示站点返回了此IP (https://www.maxmind.com/en/geoip-demo)的良好数据。

代码语言:javascript
复制
In [33]: import geoip2.database

In [34]: reader = geoip2.database.Reader('.../GeoLite2-City.mmdb')

In [35]: reader.city('104.6.30.56').city  # should be Santa Rosa, Ca
Out[35]: geoip2.records.City(geoname_id=None, confidence=None, _locales=['en'], names={})

In [36]: reader.city('104.6.30.56').location  # should be ~(38, -122)
Out[36]: geoip2.records.Location(postal_confidence=None, average_income=None, accuracy_radius=None, time_zone=None, longitude=-97.0, metro_code=None, population_density=None, postal_code=None, latitude=38.0)

In [37]: reader.city('173.194.116.131').city  # works fine for Google
Out[37]: geoip2.records.City(geoname_id=5375480, confidence=None, _locales=['en'], names={u'ru': u'\u041c\u0430\u0443\u043d\u0442\u0438\u043d-\u0412\u044c\u044e', u'fr': u'Mountain View', u'en': u'Mountain View', u'de': u'Mountain View', u'zh-CN': u'\u8292\u5ef7\u7ef4\u5c24', u'ja': u'\u30de\u30a6\u30f3\u30c6\u30f3\u30d3\u30e5\u30fc'})

版本:

代码语言:javascript
复制
In [39]: reader.metadata()
Out[39]: maxminddb.reader.Metadata(binary_format_major_version=2, description={u'en': u'GeoLite2 City database'}, record_size=28, database_type=u'GeoLite2-City', languages=[u'de', u'en', u'es', u'fr', u'ja', u'pt-BR', u'ru', u'zh-CN'], build_epoch=1438796457, ip_version=6, node_count=3199926, binary_format_minor_version=0)

In [40]: geoip2.__version__
Out[40]: '2.2.0'

这是因为我使用的是精简版吗?

EN

回答 2

Stack Overflow用户

发布于 2015-08-22 05:15:48

地理位置仅有一定程度的准确性。

像MaxMind这样的提供商会尽最大努力了解哪个IP地址与哪个地理位置相关。然而,这是一项艰巨的任务。IP地址可以由控制IP地址的公司重新分配,有些公司不会发布与地址关联的地理位置,您观察到的IP可能属于远离实际用户的proxy server,并且在编译数据时可能存在错误。

由于他们的在线系统返回了正确的地理位置,这可能是最后一个类别的示例。

在广泛使用地理位置并将其与用户的已知事实相关联的过程中,我观察到地理位置数据库在85% - 90%的时间内是准确的。一些提供商在正确处理难以处理的IP地址方面比其他提供商做得更多,但没有一个是完美的。

票数 0
EN

Stack Overflow用户

发布于 2018-01-10 12:30:29

如果GeoIP返回正确的结果,而GeoLite没有返回正确的结果,那么是的,您可能会看到GeoLite精度降低的影响。这真的是一个问题:“你想付钱吗?如果愿意,付多少钱?”

请记住,他们最近引入了a third-level "Precision" service offering,而City数据库本身现在是其降级版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32149278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档