根据ip地址获取mac地址,python获取IP地址
获取ip地理位置的API接口本来是想通过这个案例练习正则表达式,后来发现有更简单的方法。当然网上也有很多API接口,可以直接返回json格式的数据。通过加工,容易做到.
一些根据IP查询位置、运营商等信息的API如下:
1.淘宝API(推荐):http://ip.taobao.com/service/getIpInfo.php? IP=110 . 84 . 0 . 129
2.国外freegeoip.net(推荐):http://freegeoip.net/json/110.84.0.129也提供经纬度信息(但不一定准确)
3.新浪API:http://int.dpool.sina.com.cn/iplookup/iplookup.php?格式=jsonip=110.84.0.129
4.腾讯网页查询(以非json格式返回):http://ip.qq.com/cgi-bin/searchip? search IP 1=110 . 84 . 0 . 129
5.ip.cn的网页(以非json格式返回):http://www.ip.cn/index.php? IP=110 . 84 . 0 . 129
6.IP-API . com:http://ip-api.com/json/110.84.0.129
以上API接口大多有一个特点,返回的信息直接是json格式的;
这里的代码以freegeoip.net的API为例,代码编写如下:
优势:
可以查看经纬度;缺点:
不能定位省份,建议用其他API如果需要省;#!/usr/bin/env pyhton#编码:utf-8 @ Name:re _ 01 _ ip _ location . py @ Author:lvah @ Date:1/11/18 @ connect:xc _ gufan @ 163.com @ desc:根据API import URL lib 2 import JSON IP addr=raw _ input(被查询IP:)#构成IP地理位置查询的URLUrl= 3358freegeoip.net/JSON/%s%(IP addr)#访问URL地址,并且urlobject是一个类型为 instance 的对象;URL=URL lib 2 . urllopen(URL)# URL地址访问后的返回值;URL类型是字符串;# URL content= { # IP : 172 . 25 . 254 . 250 , country_code : , country_name : ,# region_code : , city : ,# time _ zone : , latitude: 0, longitude: 0, metro _ code :0 # } # latitude:latitude # longitude:URL content=URL object . read()#很明显,字符串的信息不好处理,json模块可以帮忙;RES=json.loads (URL内容)# printres # Show查询结果print 查询结果如下:IP: {}时区:{}国家:{}经度:{}纬度:{} 。格式(RES [IP],RES [time _ zone]。RES [国家_名称],RES [纬度],RES [经度]的执行结果如下:查询的IP:123.1.2.3查询结果如下:IP:123 . 1 . 2 . 3时区:亚洲/东京国家:日本经度:35.1802纬度:136.90。
参考(测试后不可用,但提供思路)的博客链接:python实现了IP地址位置的查询。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。