如何利用pygeoip从国家、地区代码中获取纬度、经度

2024-05-16 20:26:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有GeoIP城市和地区代码,如:

region_code:H9
country_code:GB

我得到的城市和地区代码是通过GeoIP从IP地址在过去的某个时候获得的。但是,IP地址没有被保留。 我相信应该可以索引到GeoLite城市数据库中,用这个信息检索纬度和经度,但我在pygeoip包装器中看不到任何现成的东西。有人知道怎么做吗?在


Tags: 代码数据库codecountryregion地区geoipgb
1条回答
网友
1楼 · 发布于 2024-05-16 20:26:37

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。在

相关问题 更多 >