Python实现批量获取地址的经纬度

 更新时间:2025年05月19日 09:08:07   作者:认真写程序的强哥  
在地理分析中,通常需要自己获取经纬度数据,所以本文就来和大家介绍一下如何借助python与地图接口来进行经纬度的爬取,感兴趣的小伙伴可以了解下

在地理分析中,通常需要自己获取经纬度数据,当地址只有几个的时候,可以直接在网页输入地址拾取经纬度即可,而当地址数量庞大,比如几十个几百个的时候,肯定是耗费时间的,这时就可以借助python与地图接口来进行经纬度的爬取。

需求:已有目标地址,需要通过地址来获取该地址的经纬度

1.高德地图接口的准备

在编辑代码之前需要先在高德地图中注册账号(已有就可以直接登录),申请密钥,才能正常爬取数据。

https://lbs.amap.com/tools/picker

注册账号登录以后,就可以进入控制台,在界面左侧点击“应用管理–我的应用”

然后点击创建新应用,第一次创建会有教程提示,跟下面一样

应用名称可以自己取,应用类型也可以看自己的需求

然后选择“添加key”

在添加key处,名称随意,但服务平台一定要选择“web服务”

然后提交,就可以获得密钥

上图中框起来的地方就是自己的密钥,要复制到代码中

2.注意:地址信息如果比较模糊的话,需要进行处理一下,在地址前加上“某市某县”,使结果更加准确。

3.代码

from urllib import request
import requests
import json
import time
from bs4 import BeautifulSoup
import pandas as pd

# 保存路径
writer = pd.ExcelWriter(r"创建的xlsx的空表格.xlsx")
# 文件格式无要求,有一列目标地址即可
add = pd.read_excel(r"自己已有的地址数据的表格.xls")
list_addr = []
list_level = []
lon = []
lat = []

for addr in add["地址列的名称"]:

    try:
        base = 'https://restapi.amap.com/v3/geocode/geo?key=自己的密钥&address=' + addr
        response = requests.get(base)
        result = json.loads(response.text)

        lon1 = result['geocodes'][0]['location'].split(",")[0]
        lat1 = result['geocodes'][0]['location'].split(",")[1]
        formatted_address = result['geocodes'][0]['formatted_address']
        level = result['geocodes'][0]['level']

        lon.append(lon1)
        lat.append(lat1)
        list_addr.append(formatted_address)
        list_level.append(level)
        print(formatted_address, lon1, lat1)
        time.sleep(0.1)

    except:

        list_level.append("无地址")
        list_addr.append("无地址")
        lon.append("无地址")
        lat.append("无地址")
    continue


# print(list1)
lists = [list_addr, list_level, lon, lat]
data2 = pd.DataFrame(lists)
data3 = data2.T
data3.columns = ["名字", "级别", "经度", "纬度"]
data3.to_excel(writer, sheet_name="数据结果", index=None)
writer._save()
print("保存完毕")

到此这篇关于Python实现批量获取地址的经纬度的文章就介绍到这了,更多相关Python地址经纬度内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现自动签到脚本功能

    Python实现自动签到脚本功能

    这篇文章主要介绍了Python实现自动签到脚本,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Python中卷积神经网络(CNN)入门教程分分享

    Python中卷积神经网络(CNN)入门教程分分享

    卷积神经网络(Convolutional Neural Networks, CNN)是一类特别适用于处理图像数据的深度学习模型,本文介绍了如何使用Keras创建一个简单的CNN模型,并用它对手写数字进行分类,需要的可以参考一下
    2023-05-05
  • 如何利用Python实现自动打卡签到的实践

    如何利用Python实现自动打卡签到的实践

    签到,都是规律性的操作,何尝不写一个程序加到Windows实现自动签到呢,本文就主要介绍了如何利用Python实现自动打卡签到的实践,具有一定的参考价值,感兴趣的可以了解一下
    2021-12-12
  • Python使用MoviePy轻松搞定视频编辑

    Python使用MoviePy轻松搞定视频编辑

    MoviePy 是一个使用 Python 编写的开源库,用于在视频编辑中创建、编辑和操作视频文件。本文就来教一下大家如何使用MoviePy轻松搞定视频编辑,需要的可以了解一下
    2023-05-05
  • python中判断文件编码的chardet(实例讲解)

    python中判断文件编码的chardet(实例讲解)

    下面小编就为大家分享一篇python中判断文件编码的chardet(实例讲解),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • Python四大模块文件管理介绍

    Python四大模块文件管理介绍

    我们可以使用python来操作文件,比如读取文件内容、写入新的内容等,本文主要介绍了Python IO文件管理的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • 使用Python分析数据并进行搜索引擎优化的操作步骤

    使用Python分析数据并进行搜索引擎优化的操作步骤

    在互联网时代,网站数据是一种宝贵的资源,可以用来分析用户行为、市场趋势、竞争对手策略等,本文将介绍如何使用Python爬取网站数据,并进行搜索引擎优化,,需要的朋友可以参考下
    2023-08-08
  • Python字典和集合编程技巧大总结

    Python字典和集合编程技巧大总结

    这篇文章主要给大家介绍了关于Python字典和集合编程技巧的相关资料,Python中的字典和集合是两种非常常用的数据结构,它们可以帮助我们更方便地管理和操作数据,需要的朋友可以参考下
    2023-09-09
  • 使用SAE部署Python运行环境的教程

    使用SAE部署Python运行环境的教程

    这篇文章主要介绍了使用SAE部署Python运行环境的教程,SAE作为新浪的在线软件部署平台,在国内拥有一定的性价比,需要的朋友可以参考下
    2015-05-05
  • 使用PyTorch训练一个图像分类器实例

    使用PyTorch训练一个图像分类器实例

    今天小编就为大家分享一篇使用PyTorch训练一个图像分类器实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01

最新评论