欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python实现ip地址查询经纬度定位详解

程序员文章站 2023-10-30 17:32:34
 1、此api已经关闭 https://api.map.baidu.com/highacciploc/v1?qcip=220.181.38.113&ak...

 1、此api已经关闭

https://api.map.baidu.com/highacciploc/v1?qcip=220.181.38.113&ak=你申请的ak&extensions=1&coord=bd09ll

2、现在改成

api首页:http://lbsyun.baidu.com/index.php?title=webapi/ip-api

使用方式:https://api.map.baidu.com/location/ip?ak=请输入您的ak&coor=bd09ll

# -*- coding: utf-8 -*-
import urllib
import urllib2
import json
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
class sendurl(object):
  def send_url(self, url, headers, data=none):
    opener = urllib2.build_opener()
    request = urllib2.request(url, data=data, headers=headers)
    response = opener.open(request, timeout=10)
    js = json.loads(response.read().decode("utf-8"))
    print(type(js))
    #print(dir(js))
    #print(js)
    print("================================================")
    print('位置:'+ js['content']['address_detail']['province'] + js['content']['address_detail']['city'])
    print('纬度:'+ js['content']['point']['y'])
    print('经度:'+ js['content']['point']['x'])
    print('节点:'+ js['address'])
    print("================================================")
def main():
  # ak 需自行注册
  ak = "xxxxxxxxxxxxxxxxxxxxxxxxx"
  sx = sendurl()
  url = "https://api.map.baidu.com/location/ip"
  data = {"ip": "36.101.234.14", "ak": ak, "coor": "bd09ll"}
  headers = {
    'user-agent': "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/58.0.3029.110 safari/537.36"}
  sx.send_url(url, headers, data=urllib.urlencode(data))
if __name__ == '__main__':
  main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。