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

yipeiwu_com5年前Python基础

 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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现删除Android工程中的冗余字符串

Android提供了一套很方便的进行资源(语言)国际化机制,为了更好地支持多语言,很多工程的翻译往往会放到类似crowdin这样的平台上。资源是全了,但是还是会有一些问题。 哪些问题 以...

Django框架实现的普通登录案例【使用POST方法】

Django框架实现的普通登录案例【使用POST方法】

本文实例讲述了Django框架实现的普通登录。分享给大家供大家参考,具体如下: 1.显示登录页面 a.设计url,通过浏览器访问http://127.0.0.1:8000//login的...

Python中pow()和math.pow()函数用法示例

本文实例讲述了Python中pow()和math.pow()函数用法。分享给大家供大家参考,具体如下: 1. 内置函数pow() >>> help(pow) Hel...

Python openpyxl读取单元格字体颜色过程解析

问题 我试图打印some_cell.font.color.rgb并得到各种结果。 对于一些人,我得到了我想要的东西(比如“ FF000000”),但对于其他人,它给了我Value mus...

Python: 传递列表副本方式

有时候,需要禁止函数修改列表。 为解决这个问题,可向函数传递列表的副本而不是原件;这样函数所做的任何修改都只影响副本,而丝毫不影响原件。 要将列表的副本传递给函数,可以像下面这样做:...