安装 geoip2 库
pip install geoip2 -i https://pypi.douban.com/simple
下载 Maxmind 网站的 IP 信息库
地址:http://dev.maxmind.com/geoip/geoip2/geolite2

下载完之后,解压,将解压包中的 mmdb 文件复制到项目的运用程序中
本机利用的环境是python3.7.4
直接上代码
#!/usr/bin/python# --coding:utf-8--import geoip2.databasereader = geoip2.database.Reader('./GeoLite2-City.mmdb')# ip = input(\公众输入你要查询的IP:\n\"大众)response = reader.city('123.58.180.8') #网易ping www.163.com# response = reader.city(ip)# 有多种措辞,我们这里紧张输出英文和中文print(response.city.name)print(\"大众你查询的IP的地理位置是:\"大众)print(\"大众地区:{}({})\"大众.format(response.continent.names[\公众es\"大众], response.continent.names[\"大众zh-CN\"大众]))print(\"大众国家:{}({}) ,简称:{}\"大众.format(response.country.name, response.country.names[\"大众zh-CN\公众], response.country.iso_code))print(\公众洲/省:{}({})\"大众.format(response.subdivisions.most_specific.name, response.subdivisions.most_specific.names[\"大众zh-CN\"大众]))print(\"大众城市:{}({})\"大众.format(response.city.name, response.city.names[\"大众zh-CN\"大众]))print(\"大众经度:{},纬度{}\"大众.format(response.location.longitude, response.location.latitude))print(\公众时区:{}\"大众.format(response.location.time_zone))print(\"大众邮编:{}\公众.format(response.postal.code))
打印出结果
你查询的IP的地理位置是:地区:Asia(亚洲)国家:China(中国) ,简称:CN洲/省:Zhejiang(浙江省)城市:Hangzhou(杭州)经度:120.1619,纬度30.294时区:Asia/Shanghai邮编:None
2.至于在线库的利用是须要一个license_key
只有前面两步不太一样
连接: client = geoip2.webservice.Client(42, <license_key>)
查询 IP: response = client.insights(<IP>)
关注我,理解web编程小知识及快速获取互联网热点