如何获取城市ip
注册埃文科技,可以免费下载县市级别的ip离线地址库( https://www.ipplus360.com/ ) 但免费级别只有一千多万地址库,并且精度不足。如有需要可以申请使用正式地址库
转换并导出
埃文地址库默认下载为txt格式,需要导入mysql中,进一步转换并且导出。
- 创建库表
CREATE TABLE `ipplus360`.`IP_single_WGS84`(
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`minip` int(11) unsigned DEFAULT NULL,
`maxip` int(11) unsigned DEFAULT NULL,
`continent` varchar(16) DEFAULT NULL,
`areacode` varchar(4) DEFAULT NULL,
`adcode` varchar(10) DEFAULT NULL,
`country` varchar(50) DEFAULT NULL,
`province` varchar(100) DEFAULT NULL,
`city` varchar(100) DEFAULT NULL,
`district` varchar(120) DEFAULT NULL,
`lngwgs` varchar(12) DEFAULT NULL,
`latwgs` varchar(12) DEFAULT NULL,
`radius` varchar(10) DEFAULT NULL,
`accuracy` varchar(10) DEFAULT NULL,
`owner` varchar(255) DEFAULT NULL,
`isp` varchar(255) DEFAULT NULL,
`asnumber` varchar(10) DEFAULT NULL,
`source` varchar(50) DEFAULT NULL,
`zipcode` varchar(20) DEFAULT NULL,
`timezone` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- 增加表索引
ALTER TABLE `ipplus360`.`IP_single_WGS84 ADD INDEX idx_minip_maxip(minip,maxip);
- 数据导入表中
LOAD DATA LOCAL INFILE '/tmp/IP_trial_single_WGS84.txt' INTO TABLE ip_single_wgs84 CHARACTER SET utf8 FIELDS TERMINATED BY '\t' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES;
- 转换字段并且导出(埃文科技中ip使用minip和maxip表示地址范围,需要转换成点分十进制)
select INET_NTOA(minip),INET_NTOA(maxip) from ip_single_wgs84 where province='湖北省' and city='武汉市' into outfile '/tmp/111.txt';
评论