【发布时间】:2014-05-02 11:20:06
【问题描述】:
我有这样的 GeoIP 城市和地区代码:
region_code:H9
country_code:GB
我拥有的城市和地区代码是在过去某个时间通过 GeoIP 从 IP 地址获得的。但是,IP 地址并未保留。 我相信应该可以索引到 GeoLite City 数据库并使用此信息检索纬度和经度,但我在 pygeoip 包装器中看不到任何开箱即用的东西。有谁知道怎么做?
【问题讨论】:
我有这样的 GeoIP 城市和地区代码:
region_code:H9
country_code:GB
我拥有的城市和地区代码是在过去某个时间通过 GeoIP 从 IP 地址获得的。但是,IP 地址并未保留。 我相信应该可以索引到 GeoLite City 数据库并使用此信息检索纬度和经度,但我在 pygeoip 包装器中看不到任何开箱即用的东西。有谁知道怎么做?
【问题讨论】:
GeoIP City 提供从 IP 地址到位置(包括坐标)的映射。例如:
>>> gi = pygeoip.GeoIP('GeoIPCity.dat')
>>> gi.record_by_addr('64.233.161.99')
{
'city': u'Mountain View',
'region_code': u'CA',
'area_code': 650,
'time_zone': 'America/Los_Angeles',
'dma_code': 807,
'metro_code': 'San Francisco, CA',
'country_code3': 'USA',
'latitude': 37.41919999999999,
'postal_code': u'94043',
'longitude': -122.0574,
'country_code': 'US',
'country_name': 'United States',
'continent': 'NA'
}
>>> gi.time_zone_by_addr('64.233.161.99')
'America/Los_Angeles'
但是,它不提供从区域代码到坐标的映射。为此,我建议使用GeoNames。
【讨论】: