python实现ip地址查询经纬度定位详解
作者:linyouyi 发布时间:2021-09-13 08:01:52
标签:python,ip,地址,经纬度,定位
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()
来源:https://www.cnblogs.com/linyouyi/p/10739850.html


猜你喜欢
- Vue2.0/3.0 双向数据绑定的实现原理双向数据绑定简意 即数据的改变能让页面重新渲染Vue2.0 ES5的原理:Object.defi
- 网页广告 Banner 设计图文手册:采用以下要点来改善你的BANNER。广告并不便宜。 确信你的广告被第一时间读到。使用像这样的Sans
- 前言快过年了,又到了公司年底评级的时候了。今年的评级和往常一下,每个人都要填写公司的民主评议表,给各个同事进行评价打分,然后部门收集起来根据
- 数据API数据集方法不会修改数据集,而是创建新数据集。可通过调用 map() 方法将转换应用于每个元素:dataset = dataset.
- 前言:1、gevent库可以轻松实现并发同步或异步编程。gevent中使用的主要模式是Greenlet,它是以C扩展模块的形式访问Pytho
- SUBSTR函数是用来截取数据库某一列字段中的一部分。 在各个数据库的函数名称不一样(真是蛋疼,后发明的数据库难道不能同先发明的一样吗?)
- 如下图所示:单击Edit Code打开Code信息如下:经查Data at the root level is invalid是XML文件的
- 这篇文章主要介绍了Python tkinter三种布局实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- binlog二进制日志对于mysql数据库的重要性有多大,在此就不多说了。下面根据本人的日常操作经历,并结合网上参考资料,对binlog日志
- mysql中You can't specify target table for update in FROM clause错误的意
- 对一个列表list而言,进行排序是很简单的。正序排序(从小到大)用list.sort() 倒序排序(从大到小)用list.sort
- 增加索引可以提高查询效率。增加索引就是增加一个索引文件,存放的是数据的地址,类似与我们文档的目录,在查找过程中可以不用从书的内容查找,直接根
- 本文介绍了详解vue 模版组件的三种用法,分享给大家,具体如下:第一种//首先,别忘了引入vue.js<div id="us
- 在mysql的启动过程中有时会遇到下述错误Can't connect to local MySQL server through s
- 本文实例讲述了Python实现对PPT文件进行截图操作的方法。分享给大家供大家参考。具体分析如下:下面的代码可以为powerpoint文件p
- 有时需要在网上租用空间或数据库,Mysql成本低一些,所以想将sql server转成mysql……注意:在安装Mysql时要选择文字集为u
- 一、结论语法结构: limit offset, rows结论:rows 相同条件下,offset 值越大,limit 语句性能越差二、测试执
- 背景最近正在学nodejs,想到曾经有台云服务器,但是很久不用了,由于怕麻烦,一股脑的把云主机重装了个Ubuntu系统,于是配置MySQL成
- 写在前面这篇文章的诞生要感谢MIT 6.284课程。在其中一节课中,谈到了多线程的协同的一些问题,其中就涉及到了channel这个概念,并由
- 导出单个表mysqldump -u user -p dbname tablename > db.sql导入单个表mysql>dr