使用python解析ip地址
前言
想要批量将ip地址转换为省份城市、国家或是经纬度?百度上的批量查找每次的容量太小满足不了要求?第三方库神器 - geoip2帮你解决所有烦恼。
准备工作
- 首先安装一下geoip2库,
pip install geoip2
 - 前往官网下载一下数据包,下载地址https://dev.maxmind.com/geoip/geoip2/geolite2/

 - 将下载好的数据包放到程序的根目录下
 
完整代码
import geoip2.database
def getLoc(ip):
    # 传入下载的数据的地址
    reader = geoip2.database.Reader("./GeoLite2-City_20191126/GeoLite2-City.mmdb")
    data = reader.city(ip)
    print("ip地址:", ip)
    # names['zh-CN']即可转换为中文
    print("国家: ", data.country.names['zh-CN'])
    print("省份: ", data.subdivisions.most_specific.names['zh-CN'])
    print("城市: ", data.city.names['zh-CN'])
    print("纬度: ", data.location.latitude)
    print("经度: ", data.location.longitude)
# getLoc("59.57.149.142")
测试
本次测试的ip为 -> 59.57.149.142
百度查询的结果												
使用python解析ip地址的更多相关文章
- python实现IP地址转换为32位二进制
		
python实现IP地址转换为32位二进制 #!/usr/bin/env python # -*- coding:utf-8 -*- class IpAddrConverter(object): de ...
 - python对ip地址排序、对列表进行去重
		
一:使用python对ip地址排序所用代码示例一: import socket iplist = ['10.5.11.1','192.168.1.33','10.5.2.4','10.5.1.3',' ...
 - Python实现IP地址归属地查询
		
一.使用淘宝IP地址库查询 使用淘宝的Rest API,可以快速查询IP地址的归属地: 图00-淘宝IP地址库RestAPI使用说明 图01-使用淘宝免费IP地址库-查询IP归属地 存在问题:淘宝的免 ...
 - 通过阿里云域名动态解析 IP 地址
		
这两天在家里用树莓派折腾了一个家用服务器,主要用来做 mac 的 Time Machine ,还有就是当做下载机和 nas ,想着平时上班时间家里没人用网络,空着也是空着,就可以利用空闲带宽下个美剧啥 ...
 - 关于域名系统DNS解析IP地址的一些总结
		
关于域名系统DNS(Domain Name System) 从域名中解析出IP地址. DNS主要由3部分组成: ① 名称解析器(resolver) ② 域名空间(domain name space) ...
 - Linux下Python获取IP地址
		
<lnmp一键安装包>中需要获取ip地址,有2种情况:如果服务器只有私网地址没有公网地址,这个时候获取的IP(即私网地址)不能用来判断服务器的位置,于是取其网关地址用来判断服务器在国内还是 ...
 - python模块--ip地址转换为整数
		
python整数与IP地址转换 [转] 我们有时会将一个整数与IP地址进行互换,用python代码实现很简单 将一个整数如2000000,变为一个IP地址的方式 >>> import ...
 - python检查IP地址正确性
		
一.自动动手,丰衣足食 #encoding=utf-8 import os,sys def check_ip(ipaddr): addr = ipaddr.strip().split('.') #切割 ...
 - JavaMail SMTP服务器发送邮件程序示例 java通过dns服务器解析ip地址
		
/** * JavaMail SMTP服务器发送邮件程序示例 * 扮演SMTP服务器角色与邮件客户端软件最大的区别就是: * SMTP服务器需要解析不同接收人邮件地址主机名对应的SMTP服务器主机名 ...
 
随机推荐
- Fusion360_Generative Design 入门学习笔记
			
2019.12.17更新 初次见到衍生式设计的时候感觉非常惊艳,现在觉得这个功能就是个弟弟,只能做一些中看不中用的东西.这个方法的理论基础是拓扑优化,想做research的同学可参阅"如何入 ...
 - 关于spring boot项目配置文件的一些想法
			
一.springboot项目中有两种配置文件 springboot项目中有两种配置文件 bootstrap 和 application bootstrap是应用程序的父上下文,由父Spring App ...
 - Dapr 运用之集成 Asp.Net Core Grpc 调用篇
			
前置条件: <Dapr 运用> 改造 ProductService 以提供 gRPC 服务 从 NuGet 或程序包管理控制台安装 gRPC 服务必须的包 Grpc.AspNetCore ...
 - pipelinedb 常用sql语句
			
-- 创建普通表create table simple_user (name varchar(80), age int , phone varchar(30), birthday date ); -- ...
 - 《Java练习题》Java编程题合集(全)
			
前言:不仅仅要实现,更要提升性能,精益求精,用尽量少的时间复杂度和空间复杂度解决问题. 初学者: <Java练习题>习题集一 https://www.cnblogs.com/jssj/ ...
 - java设计模式(一)动态代理模式,JDK与CGLIB分析
			
-本想着这个知识点放到Spring Aop说说可能更合适一点,但因为上一篇有所提到就简单分析下,不足之处请多多评论留言,相互学习,有所提高才是关键! 什么是代理模式: 记得有本24种设计模式的书讲到代 ...
 - 规范git commit提交记录和版本发布记录
			
在开发过程中我们一般都会用到git管理代码,在git commit提交代码时我们一般对git commit message随便写点简单的描述,可是随着项目参与人数的增多,发现提交的commit记录越来 ...
 - C# dictionary to bytes and bytes convert to dictionary
			
static byte[] GetBytesFromDic(Dictionary<string,string> dic) { if(dic==null || !dic.Any()) { r ...
 - 分布式事物 - 基于RPC调用 - 补偿模式
			
前提 所有服务均有独立的事物管理机制,相互间没有任何关联. 所有业务接口都有对应的补偿方法,用于将已经更新的数据还原到上一次的状态. 本次实例为同步业务,理想状态下,只有全部成功或全部失败两种情况. ...
 - JS---封装缓动(变速)动画函数---增加多个任意多个属性
			
封装缓动动画函数---增加多个任意多个属性 在原来缓动动画函数,增加任意一个属性的基础上,做了如下改变 1. 原来function animate(element, attr, target),三个变 ...