通过高德API和Python3实现通过IP获取地区

序幕

高德地图,是中国领先的数字地图内容、导航和位置服务解决方案提供商。拥有导航电子地图甲级测绘资质、测绘航空摄影甲级资质和互联网地图服务甲级测绘资质“三甲”资质,其优质的电子地图数据库成为公司的核心竞争力。

最新地图浏览器:最新矢量地图渲染,最高质量地图效果、最丰富数据信息、最快速操作体验、最节省数据流量。专业地图服务:实地采集、网络采集,行业领先。

丰富的出行查询功能:地名信息查询、分类信息查询、公交换乘、驾车路线规划、公交线路查询、位置收藏夹等丰富的基础地理信息查询工具。

成为现代人们生活的必备品

获取key并查询

  1. 注册成功之后,创建新应用

    进入控制台,创建一个新应用。如果您之前已经创建过应用,可直接跳过这个步骤。

    de

  2. 添加新Key

    在创建的应用上点击"添加新Key"按钮,在弹出的对话框中,依次:输入应用名名称,选择绑定的服务为“web服务API”,如下图所示:

    de

    在阅读完高德地图API服务条款后,勾选此选项,点击“提交”,完成 Key 的申请,此时您可以在所创建的应用下面看到刚申请的 Key 了。

    de

  3. 进入高德IP定位,并查看官方文档

    de

  4. 使用已申请的key

    第一步,申请”web服务 API”密钥(Key);

    第二步,拼接HTTP请求URL,第一步申请的Key需作为必填参数一同发送;

    第三步,接收HTTP请求返回的数据(JSON或XML格式),解析数据。

    如无特殊声明,接口的输入参数和输出数据编码全部统一为UTF-8。

  5. IP定位API服务地址:

    URLhttps://restapi.amap.com/v3/ip?parameters
    请求方式GET
  6. 请求参数

    参数名含义规则说明是否必须缺省值
    key请求服务权限标识用户在高德地图官网申请Web服务API类型KEY必填
    ipip地址需要搜索的IP地址(仅支持国内)若用户不填写IP,则取客户http之中的请求来进行定位可选
    sig签名选择数字签名认证的付费用户必填可选
    output返回格式可选值:JSON,XML可选JSON
  7. 请求接口了解完之后,开始写代码

    import requests
    ip = '114.247.50.2'
    url = 'https://restapi.amap.com/v3/ip?ip='+ip+'&output=json&key=66a7ff5f4d2371a783d196becc856f94'
    res = requests.get(url)
    print(res.text)
    
  8. 调用结果

    {"status":"1","info":"OK","infocode":"10000","province":"北京市","city":"北京市","adcode":"110000","rectangle":"116.0119343,39.66127144;116.7829835,40.2164962"}
    
  9. 这个ip只能我们手动输入,但我们可以使用socket模块来获取本机的ip

    import socket
    # 获取本机计算机名称
    hostname = socket.gethostname()
    # 获取本机ip
    ip = socket.gethostbyname(hostname)
    print(ip)
    
  10. 打印结果

    192.168.1.1  # 因为我用的以太网,所以获取到的是以太网IP
    
  11. 两者结合使用

    import requests
    import socket
    # 获取本机计算机名称
    hostname = socket.gethostname()
    # 获取本机ip
    ip = socket.gethostbyname(hostname)
    url = 'https://restapi.amap.com/v3/ip?ip='+ip+'.139&output=json&key=66a7ff5f4d2371a783d196becc856f94'
    res = requests.get(url)
    print(res.text)
    

结语

通过调用高德接口,可以很方便实现通过IP查询地址

更多内容查看高德开放平台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值