IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Python: 使用IP2Location 地理数据库解析IP所在的地理位置 -> 正文阅读

[网络协议]Python: 使用IP2Location 地理数据库解析IP所在的地理位置

目录

一、注册&下载数据库

二、使用 Python 查询IP 的地理位置

2.1、下载?IP2Location 模块

2.2、解压 & install?IP2Location

2.3、代码演示


一、注册&下载数据库

目前如果要使用 IP2Location 提供的数据库,需要先注册,然后才让下载,主页位置:免费IP地理位置数据库

注册、登录后,打开数据库下载页面:

https://lite.ip2location.com/database-download

然后就可以看到5个数据库,每个数据库又提供了IPV4和IPV6版本:

DB1.LITE IP-COUNTRY	 	 	
DB3.LITE IP-COUNTRY-REGION-CITY	 	 	
DB5.LITE IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE	 	 	
DB9.LITE IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE	 	 	
DB11.LITE IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE	 	 	

每个数据库提供的地理位置的完善程度不一样,我选择的 DB5,可以提供国家、省份、城市、经度和纬度五个信息。

二、使用 Python 查询IP 的地理位置

官网给了一个使用Python 查询 IP 地理位置的例子。

首先需要安装 IP2Location 的模块:

2.1、下载?IP2Location 模块

https://github.com/chrislim2888/IP2Location-Python/archive/master.zip

2.2、解压 & install?IP2Location

unzip IP2Location-Python-master.zip
cd IP2Location-Python-master
python setup.py install

2.3、代码演示

安装完成后,就可以使用了。

# https://www.ip2location.com/development-libraries/ip2location/python

import IP2Location, os

'''
    Cache the database into memory to accelerate lookup speed.
    WARNING: Please make sure your system have sufficient RAM to use this feature.
'''
# database = IP2Location.IP2Location(os.path.join("data", "IPV6-COUNTRY.BIN"), "SHARED_MEMORY")
database = IP2Location.IP2Location(os.path.join("data", "IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-ELEVATION-USAGETYPE-ADDRESSTYPE-CATEGORY-SAMPLE.BIN"))
rec = database.get_all("19.5.10.1")

print rec.country_short
print rec.country_long
print rec.region
print rec.city
print rec.isp
print rec.latitude
print rec.longitude
print rec.domain
print rec.zipcode
print rec.timezone
print rec.netspeed
print rec.idd_code
print rec.area_code
print rec.weather_code
print rec.weather_name
print rec.mcc
print rec.mnc
print rec.mobile_brand
print rec.elevation
print rec.usage_type
print rec.address_type
print rec.category

通过DB5的IPV4版数据库,可以查到如下信息:

rec.country_short US
rec.country_long  United States of America
rec.region        Michigan
rec.city          Dearborn
rec.isp           This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.latitude      42.311520
rec.longitude     -83.191322
rec.domain        This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.zipcode       This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.timezone      This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.netspeed      This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.idd_code      This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.area_code     This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.weather_code  This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.weather_name  This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.mcc           This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.mnc           This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.mobile_brand  This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.elevation     This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.usage_type    This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.address_type  This parameter is unavailable in selected .BIN data file. Please upgrade data file.
rec.category      This parameter is unavailable in selected .BIN data file. Please upgrade data file.

除了 Python 版本之外,官网还提供了例如C、PHP、Go等语言查询的样例。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-30 15:58:44  更:2021-11-30 16:00:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:49:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码