IPv6和数据库相继开启商业化运营模式(组图)
PS:仓库包含完整的源代码和脚本纯真ip数据库,不知道这个发在这里合不合适,如果不合适的话版主可以帮忙移到合适的板块。
因IPv4和IPv6数据库相继开启商业化运营模式, 当IP数据库源不再提供离线镜像时, 本仓库将尊重其要求进行存档或关闭。
#
纯真IPv4数据库镜像 / 数据库镜像 & MySQL脚本/ 同步更新 for (原项目) #
(数据文件已通过发布)
:(推荐)
Gitee :(更新频率较低) #
功能通过实现纯真IPv4数据库及数据库的镜像更新,数据库在data文件夹下;将数据文件解析为txt格式;将数据文件全量导入mysql中,请先安装mysql并启用服务;将数据文件全量导入中,请先安装并启用服务;将MySQL/数据库中的IP数据库内的地址细分为省市区;生成sql脚本文件的gz压缩文档纯真ip数据库,请先安装 gzip 并添加至系统变量(默认提供gz压缩文档, 不提供sql脚本);生成数据库db文件的gz压缩文档;使用BAT文件实现数据库的自动更新和推送;结合计划任务可实现的定时更新。数据文件文件内容类型 #
.bin #
IPv4本地数据文件版本记录 #
.bin #
IPv6本地数据文件版本记录
#
.db
IP数据库db文件
DB文件
.sql
IP数据库sql脚本(含以下sql内容) #
MySQL脚本
#
.sql #
纯真IPv4数据表sql脚本 #
MySQL脚本 #
.sql #
数据表sql脚本 #
MySQL脚本
#
.sql #
高校信息表sql脚本
MySQL脚本 #
.dat
#
纯真IPv4数据文件
IPDB源文件 #
.db #
数据文件 #
IPDB源文件(Not )
#
.txt #
纯真IPv4数据文本文件 #
TXT #
.txt #
数据文本文件 #
TXT
.json #
地址细分纠错文件 #
JSON #
IP查询安装相关模块 #
# 使用git前请先安装git软件
git clone --depth=1 https://github.com/a76yyyy/ipdata.git
cd ipdata
# 安装gzip 解压data文件夹中的gz相关文件;
# 使用sqlite3请先安装sqlite3软件, 数据库文件在data/ipdata.db.gz压缩档内;
# 使用mysql请先安装mysql组件并导入sql脚本, sql脚本在data/ipdatabase.sql.gz压缩档内;
# 进行下述操作前请先安装python3;
pip3 install pipenv
pipenv install
pipenv shell
python
#
#
for #
from database import sqlite3_Database from configs import config sqlite3file = config['sqlite3'].ip_database conn = sqlite3_Database(sqlite3file)
#
#
MySQL for #
from database import mysql_Database
from configs import config
conn = mysql_Database(config['mysql'].ip_database)
#
#
IPv4 查询 #
#import ipaddress ip = ipaddress.IPv4Address('114.114.114.114') sql = "select * from iprange_info where " + str(int(ip)) +" between ip_start_num and ip_end_num " print(conn.query(sql))
#
IPv6 查询 #
import ipaddress ip = ipaddress.IPv6Address('2400:3200::') sql = "select * from ipv6_range_info where x'" + ''.join(ip.exploded.split(':')) +"' between ip_start_num and ip_end_num " print(conn.query(sql))
#
#
退出
#
#conn.__del__() exit()
#
TODO实现data文件夹的分类存储;实现数据库的增量更新;实现Linux定时更新.??
#
API
#
示例IPv4 API接口(暂不提供源码): #
示例IPv6 API接口(暂不提供源码): #
示例日志
[] 纯文本查看 复制代码 #
======================================================= Starting automatic update ipdata ======================================================= 开始检查IPv4数据库更新: ---------------处理中, 请稍候--------------- 地址:http://update.cz88.net/ip/copywrite.rar 开始下载: .\tmp\copywrite.rar [ .\tmp\copywrite.rar] 下载完成 0.27 KB / 0.27 KB 下载完成,共花费了0.16s IPv4数据文件新版本: 44370, 大小: 5396789 ------------------------------------------- 开始更新IPv4数据文件: .\data\czipdata.dat ---------------处理中, 请稍候--------------- 地址:http://update.cz88.net/ip/qqwry.rar 开始下载: .\tmp\qqwry.rar [ .\tmp\qqwry.rar] 下载完成 5270.30 KB / 5270.30 KB 下载完成,共花费了7.89s 成功写入到 .\data\czipdata.dat, 10,448,828字节 ------------------------------------------- 将IPv4数据文件写入文本文件中 dat -> txt ------------------------------------------- 写入文件 .\data\czipdata.txt 中, 请稍候... 写入完成, 写入 530116 条数据. ------------------------------------------- 开始检查IPv6数据库更新: ---------------处理中, 请稍候--------------- 地址:http://ip.zxinc.org IPv6数据文件新版本: 20210511 ------------------------------------------- 开始更新IPv6数据文件: .\data\ipv6wry.db ---------------处理中, 请稍候--------------- 地址:http://ip.zxinc.org/ip-20210511.7z 开始下载: .\tmp\ip-20210511.7z [ .\tmp\ip-20210511.7z] 下载完成 552.43 KB / 552.43 KB 下载完成,共花费了0.47s 成功写入到 .\data\ipv6wry.db, 565,689字节 ------------------------------------------- 将IPv6数据文件写入文本文件中 db -> txt ------------------------------------------- 写入文件 .\data\ipv6data.txt 中, 请稍候... 写入完成, 写入 176315 条数据. ------------------------------------------- 检索IPv4数据库是否存在 ---------------处理中, 请稍候--------------- 将IPv4数据文件" .\data\czipdata.txt"导入Mysql数据库中: ---------------处理中, 请稍候--------------- 本批次(行:0 - 99999)已处理完成。共需处理100000条,成功转换100000条。 系统将自动处理下一批IPv4数据(行:100000 - 199999)…… ---------------处理中, 请稍候--------------- …… ---------------处理中, 请稍候--------------- 本批次(行:500000 - 530115)已处理完成。共需处理30116条,成功转换30116条。 ------------------------------------------- 已全部导入完成, 共导入530116条IPv4数据. 连接IP数据库, 并检索大学数据库信息: ---------------处理中, 请稍候--------------- 大学数据库不存在,重新部署中: ---------------处理中, 请稍候--------------- 从https://github.com/pg7go/The-Location-Data-of-Schools-in-China导入大学-8084.json至 .\tmp\college.json 成功将大学地址数据写入到 .\tmp\college.json, 1,752,894字节 ------------------------------------------- 将大学数据文件" .\tmp\college.json"导入Mysql数据库中: ---------------处理中, 请稍候--------------- 本批次(行:0 - 999)已处理完成。共需处理1000条,成功转换1000条。 系统将自动处理下一批IP数据(行:1000 - 1999)…… ---------------处理中, 请稍候--------------- …… ---------------处理中, 请稍候--------------- 本批次(行:8000 - 8083)已处理完成。共需处理84条,成功转换84条。 ------------------------------------------- 已全部导入完成, 共导入8084条数据. IP数据库连接成功! ------------------------------------------- 开始载入纠错文件correct.json: ---------------处理中, 请稍候--------------- 载入完成! ------------------------------------------- 将IP数据库内的地址细分为省市区: ---------------处理中, 请稍候--------------- 本批次(行:0 - 19999)已处理完成。共需处理20000条,成功转换20000条。 系统将自动处理下一批IP数据(行:20000 - 40000)…… ---------------处理中, 请稍候--------------- …… ---------------处理中, 请稍候--------------- 本批次(行:520000 - 530115)已处理完成。共需处理10116条,成功转换10116条。 ------------------------------------------- 已全部完成转换。 操作完成! 检索IPv6数据库是否存在 ---------------处理中, 请稍候--------------- 将IPv6数据文件" .\data\ipv6wry.db"导入Mysql数据库中: ---------------处理中, 请稍候--------------- …… ---------------处理中, 请稍候--------------- 本批次(行:150000 - 176314)已处理完成。共需处理26315条,成功转换26315条。 ------------------------------------------- 已全部导入完成, 共导入176315条IPv6数据. 连接IP数据库, 并导出为sql文件: ---------------处理中, 请稍候--------------- IP数据库gz压缩档导出成功! 高校信息表gz压缩档导出成功! IPv4数据表gz压缩档导出成功! IPv6数据表gz压缩档导出成功! ======================================================= Starting automatic git commit push ======================================================= .\ A data/college_info.sql.gz M data/czipdata_version.bin M data/ipdatabase.sql.gz M data/iprange_info.sql.gz M data/ipv6_range_info.sql.gz M data/ipv6data_version.bin [main 1c2b048] 定时同步 2021-06-26 10:29:53 10 files changed, 6 insertions(+), 4 deletions(-)#