【学习笔记】利用API进行数据采集或获取

这篇学习笔记介绍了如何利用百度API进行IP定位,包括加载相关模块、创建坐标获取和转换函数,以及实现IP地址到坐标的结果输出。通过坐标转换确保定位准确性,并讨论了未来可能的优化方向,如结合更多地理信息API来显示精确位置。
摘要由CSDN通过智能技术生成

利用百度普通IP定位API,坐标转换API进行IP定位

加载相关模块
import json
from urllib.request import urlopen
创建坐标列表,以便后续进行坐标提取
coords = []
创建坐标获取函数
def get_coordinate(ip_address):
	# 声明全局变量,以在函数中进行修改
    global coords
    # 利用ipstack提供的ip坐标查询API提取ip坐标数据
    # 语句.decode('utf-8')解码
    response = urlopen("http://api.ipstack.com/" + ip_address + 
    "?access_key=这里是我的key")\
        .read().decode('utf-8')
    # 载入json格式的数据
    response_json = json.loads(response)
    # 将获得ip地址经纬度加入到coords列表中
    coords.append(response_json.get("latitude"))
    coords.append(response_json.get("longitude"))
    # 分别返回ip地址的经纬度值
    return coords[0], coords[1]
创建坐标转换函数(转换为百度坐标系)
转换结果看貌似并没有表面上的区别,但为保证运行结果更准确,故而转换
def switch_coordinate():
	# 通过百度提供的API服务文档提取坐标转换数据
    response = urlopen("http://api.map.baidu.com/geoconv/v1/?coords=" + str(coords[1]) +
    	"," + str(coords[0]) + "&from=1&to=5&ak=这里是我的key").read().decode('utf-8')
  	response_json = json.loads(response)
  	# 返回转换结果
    return response_json.get("result")[0]['x'],\
           response_json.get("result")[0][
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值