python解析IP地址归属地
一、使用免费淘宝地址库
免费的嘛总是不如收费的好,自己玩玩记录一下
哪里不好?
https://ip.taobao.com//outGetIpInfo?ip=xxx
把 xxx 替换成想要查找的IP地址,刷新访问,有的时候能得出结果,有的时候得不出结果,怀疑是这个服务有个别服务器有问题吧。。。轮询到的时候就有问题了
具体使用如下
网上有很多此类文章,可能时间长了链接变了,这里自己查看即可
1、百度淘宝IP地址库
2、点击Rest API
可以看到请求接口,后边的密钥啥的不用管
3、使用接口+IP地址解析归属地
https://ip.taobao.com//outGetIpInfo?ip=106.11.223.179
可以看到如下返回结果
{"data":{"area":"","country":"中国","isp_id":"100017","queryIp":"111.127.96.151","city":"兴安盟","ip":"111.127.96.151","isp":"电信","county":"","region_id":"150000","area_id":"","county_id":null,"region":"内蒙古","country_id":"CN","city_id":"152200"},"msg":"query success","code":0}
4、使用python获取
import requestsdef checkip(ip):r = requests.get('https://ip.taobao.com//outGetIpInfo?ip=%s' %ip)if r.json()['code'] == 0:i = r.json()['data']city = i['city']print(city)else:print('未查到归属地')
我这里只获取城市信息,如需要其他信息,如国家等自己找对应key即可。
二、使用ip138收费地址库
香,就是的花点,用的少不花也行,新注册送1000条,写文这天价格是100块钱(最少充值100),50块能买100000条
我是用的免费的,不够了换个手机号,比较用的实在太少了。。。
注册完成后会有一个token,需要用到,在页面能看到
代码:
# coding=utf-8
import json
import requestsdef checkip(ip):r = requests.get('https://api.ip138.com/ip/?ip=%s&datatype=jsonp&token=xxxxxxxxxx' % ip)if r.json()['ret'] == 'ok':i = r.json()['data']country = i[0]province = i[1]city = i[2]print(country + ' ' + province + ' ' + city)else:print('未查到归属地')checkip('xxx.xxx.xxx.xxx')
输出: 中国 广东 广州
首先返回值中如果正常会返回一个 ret:ok,判断它即可
然后就是转json,获取到data对应的字段,也就是国家城市啥的
获取后的 i 变量就是个列表,然后整就行了
注意:用py2会有很多Unicode编码问题,对我来说很麻烦,建议直接用py3.
python解析IP地址归属地相关推荐
- python 查找IP地址归属地
#!/usr/bin/env python # -*- coding: utf-8 -*- #查找IP地址归属地 #writer by keery_log #Create time:2013-10-3 ...
- Python自动化-IP地址处理模块(IPy)
环境 Ubuntu18.04+Python3.6.7 正文 IPy这个强大的Python第三方包主要提供了包括网段.网络掩码.广播地址.子网数.IP类型的处理等等功能. 安装 sudo pip3 in ...
- 用Python更改IP地址(转)
用Python更改IP地址(转) 大多数用笔记本电脑的朋友都有一个烦恼,那就是在家里和公司的IP地址不一样,上班和回家后都得来回切换IP地址,两个字"麻烦".最近在写Python, ...
- Python对IP地址列表排序、对列表进行去重、IP地址与MAC地址组合的多个元组的列表排序
1.python对IP地址列表排序 # -*- coding: utf-8 -*-import socket listIP = ['10.5.11.1', '192.168.1.33', '10.5. ...
- python对ip地址排序、对列表进行去重
一:使用python对ip地址排序所用代码示例一: import socketiplist = ['10.5.11.1','192.168.1.33','10.5.2.4','10.5.1.3','1 ...
- python判断字符串合法,详解Python判定IP地址合法性的三种方法 python中判断一个字符串是否是IP地址...
html 中 鼠标放在标签上会显示小手状,其它标签在其他标签上,美工给加了一些样式,鼠标放上去也显示小手状.有哪位大手状样式 有什么不懂的前端问题可以去菜鸟驿站.全都是泡沫,只一刹的花火,所谓的友情, ...
- 请解析IP地址和对应的掩码,进行分类识别。要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类。
世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程. 题目描述 请解析IP地址和对应的掩码,进行分类识别.要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独 ...
- linux运维笔记:DNS解析IP地址的过程(dns解析的原理 )
linux运维笔记:DNS解析IP地址的过程(dns解析的原理 ) 1.首先:说一下dns解析的流程,大家都知道,计算机之间只能通过ip相互通信,因为ip不好记,于是才使用dns服务器把域名解析为相应 ...
- Logstash数据处理服务的过滤插件GeoIP解析IP地址的地理位置
Logstash数据处理服务的过滤插件GeoIP解析IP地址的地理位置 文章目录 Logstash数据处理服务的过滤插件GeoIP解析IP地址的地理位置 1.GeoIP解析IP地址的地理位置 2.安装 ...
最新文章
- 独家 | 为你的数据科学项目提供有力支撑——3个寻找数据集的最佳网站
- ssm+mysql+jsp打造在线考试系统WeKnow-学生端
- tortoisesvn的安装
- python必背100代码-这 100 道 Python 题,拿去刷!!!
- php mysql 简单聊天室_聊天室phpmysql(一)
- 【ArcGIS风暴】如何将矢量数据(点、线、面)折点坐标转为GeoJSON格式?
- JUnit规则–引发异常时执行附加验证
- 【RK3399Pro学习笔记】十五、ROS中launch启动文件的使用方法
- [每日编程]求 largest Number - 给出一组非负整数,求这些非负整数可以拼接出的最大数字...
- Keil | 解决Keil双击工程名无法打开.map的问题
- Oracle RMAN备份与还原 - 联机备份讲解
- 将一个输入流(InputStream)写入到一个文件中
- Java程序员面试准备-路线
- 【数理统计】数理统计的简单认识
- 手把手带你SQLite3快速入门
- 怎么把pdf电子书转换成txt格式
- Toy例程导读(三).高级语言分析和转换
- 【3D视觉创新应用竞赛作品系列​】基于嵌入式的室内静态场景实时重建系统
- firefox同步mac和win
- 未来智安创始人兼CEO唐伽佳荣膺36氪X·36Under36 “S级创业者”
热门文章
- 【课程总结】软件质量保证与测试知识点总结
- 单片机GD32F303RCT6 (Macos环境)开发 (二十四)—— W25Q32 spi flash的使用
- 中国也可以带号转网了,一年以后吧。
- 十天学习Unity3D脚本(一)九个回调
- 安卓Android studio 问题记录四 高德地图Api 报错 No implementation found for voidcom.autonavi.ae.gmap打开黑屏
- 真正正版的WINRAR注册密钥【适用于任何版本】
- 深入理解JVM虚拟机14:JVM性能调优的6大步骤,及关键调优参数详解
- freertos 学习 资源整理
- 正则表达式匹配浮点数
- java 方法主体_java抽象方法未指定主体