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

yipeiwu_com7年前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中使用 Selenium 实现网页截图实例

Selenium 是一个可以让浏览器自动化地执行一系列任务的工具,常用于自动化测试。不过,也可以用来给网页截图。目前,它支持 Java、C#、Ruby 以及 Python 四种客户端语言...

python树的同构学习笔记

python树的同构学习笔记

一、题意理解 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构的”。现给定两棵树,请你判断它们是否是同构的。 输入格式:输入给出2棵二叉树的信...

python并发和异步编程实例

关于并发、并行、同步阻塞、异步非阻塞、线程、进程、协程等这些概念,单纯通过文字恐怕很难有比较深刻的理解,本文就通过代码一步步实现这些并发和异步编程,并进行比较。解释器方面本文选择pyth...

详细解析Python中__init__()方法的高级应用

通过工厂函数对 __init__() 加以利用 我们可以通过工厂函数来构建一副完整的扑克牌。这会比枚举所有52张扑克牌要好得多,在Python中,我们有如下两种常见的工厂方法: &...

Python实现矩阵加法和乘法的方法分析

本文实例讲述了Python实现矩阵加法和乘法的方法。分享给大家供大家参考,具体如下: 本来以为python的矩阵用list表示出来应该很简单可以搞。。其实发现有大学问。 这里贴出我写的特...