2015-08-21 72 views
0

當我查詢GeoLite2-City.mmdb數據庫與ip ='104.6.30.56'(來自Python)時,我得到錯誤的位置。他們的演示網站返回此IP的良好數據(https://www.maxmind.com/en/geoip-demo)。MaxMind GeoLite2返回錯誤的位置

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'}) 

版本:

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' 

這是因爲我使用的是精簡版的版本?

+1

這可能是由於商業和精簡版。你可以考慮其他數據庫。例如,http://lite.ip2location.com上的IP2LITE LITE按預期顯示Santa Rosa爲104.6.30.56。 –

回答

0

地理位置的位置只是有點準確。

像MaxMind這樣的提供商盡全力瞭解什麼IP地址與哪個地理位置相關聯。不過,這是一項艱鉅的任務。 IP地址可以由控制它們的公司重新分配,有些公司不會公佈與地址相關的地理位置,您觀察到的IP可能屬於遠離實際用戶的proxy server,編譯數據時可能會出現錯誤。

由於他們的在線系統返回正確的地理位置,這可能是最終類別的一個例子。

在與地理位置廣泛合作並將其與用戶已知事實相關聯時,我觀察到地理位置數據庫在85%到90%的時間內準確無誤。有些提供商比其他提供商能夠正確處理難以處理的IP地址,但它們都不是完美的。

0

如果GeoIP返回正確的結果,並且GeoLite不會,那麼是的,您可能會看到GeoLite精度降低的影響。這實際上是一個「你想付錢,如果是,多少錢?」的問題。

請記住,他們最近推出了a third-level "Precision" service offering,其中城市數據庫本身現在是一個降級版本。

相關問題