Python查询ip归属地

时间:2025-04-01 09:23:09

方式1:通过请求查询接口获取ip归属地,比较慢,因为要一个一个去发送请求。

def ipQuery(ip):
    # 淘宝api接口
    url = "/outGetIpInfo?ip={}&accessKey=alibaba-inc".format(ip)
    req = (url).text
    json1 = (req)
    print(json1)
    country = json1["data"]["country"]  # 国
    province = json1["data"]["region"]  # 省
    city = json1["data"]["city"]  # 市
    return "{}-{}-{}".format(country, province, city)
    
    # ip-api接口
    # url = "/json/111.121.64.21?lang=zh-CN"
    # country = json1["country"]  # 国
    # province = json1["regionName"]  # 省
    # city = json1["city"]  # 市
    # print("{}-{}-{}".format(country, province, city))
    
    # 太平洋api接口
    # url = "/?ip=111.121.64.21&json=true"
    # province = json1["pro"]  # 省
    # city = json1["city"]  # 市
    # print("{}-{}".format(province, city))

ipQuery("8.8.8.8")

方式2:通过第三方库qqwry来请求接口,推荐,速度超快,需要将纯真ip数据库下载到本地。

from qqwry import QQwry
from qqwry import updateQQwry
q = QQwry()
# 自动更新纯真ip数据库
num = updateQQwry('')
print(num)
# 文件名称
q.load_file('')
# 获取数据库的版本日期
version = q.get_lastone()
print(version)
# 查询ip归属地
result = ('1.204.117.217')
print(result)