当前位置:首页>python>Python爬取百度地图-调用接口获取

Python爬取百度地图-调用接口获取

  • 2026-10-11 06:14:44
Python爬取百度地图-调用接口获取

点击蓝字

关注我们

Python爬取百度地图

调用接口获取

- 写在前面 -

  • 代码获取方式:文末自取

  • 视频教程:https://www.bilibili.com/video/BV16iMR61Eyh/

  • 上期我们通过访问百度地图网页直接从Web端获取数据,在数据量上可能存在局限性,而此次我们则通过调用百度地图官方API接口的方式精准获取POI数据,同时通过圆形区域分块算法实现大规模区域的全覆盖数据采集。想象一下这样的场景:我们需要获取上海市所有大学的详细信息,传统的方式只能在小范围内搜索,而我们采用圆形区域的方式可以把整个特定区域划分成数个圆形搜索区域,并对每一个区域进行数据采集

  • 本文涉及内容仅用于个人学习使用,切勿用于商业或其它非法用途

Python爬取百度地图-调用接口获取

  • 打开代码:

  • 第一层圆形区域分块算法,我们运用哈弗辛公式计算地球曲面距离,将目标区域自动划分为一个一个的网格,每个网格中心点成为搜索圆心,我们还可以改进划分方式,使得每一个纵向或横向区域存在部分重叠,这样会让网格被圆内切后余下的四个半圆不被遗漏:
  • 同时设置搜索半径,为了确保获取的数据尽可能完整,建议半径不要设置太大,此次我们设置的半径为17.68KM:

  • 第二层是分页采集控制逻辑,采用圆形区域加页码的双循环,外层循环遍历所有网格,内层循环深度挖掘每页数据。特别设计的接续爬取机制让我们在Key的额度用尽时,只需修改starting_index就能从中断点接续获取,避免重复采集:

  • 第三层是全字段数据提取管道,从基础的名称地址到深度商业信息,包括评论数量、营业时间、标签分类等维度。同时引入多层字典的安全访问机制,即使字段缺失也能进一步处理:

  • 运行代码前,修改需要获取数据的关键词,以大学为例,填入大学:

  • 修改想要获取的经纬度范围,以上海为例,该坐标对为上海区域的最左上及最右下的经纬度坐标,两个坐标对能划分一个矩形区域,区域经纬度坐标对可以自行查询或询问AI:

  • 关于百度地图API接口调用的Key,我们需要去百度地图开放平台申请,搜索百度地图开放平台,点击进入官网:

  • 注册登录后,点击控制台:

  • 打开应用管理下拉菜单,选择我的应用,点击创建应用:

  • 填写应用名称,应用类型选择服务端,启用服务默认勾选:

  • 往下翻,请求校验方式默认白名单,IP白名单填写自己实际的IP地址,这里我们也可以不做IP限制,填写0.0.0.0/0,但是要注意不要泄露自己的Key,尤其是已经付费后的Key,填写好后,点击提交:

  • 创建完成,我们点击复制,将Key复制下来:

  • 粘贴到代码相应的位置,有多个Key可以组成列表:

  • 同时安装一下需要用到的模块,打开terminal终端,输入pip install -r re Tab键补全,requirements.txt 回车:

  • 安装完成后,我们运行代码,等待数据获取完成:

  • 数据获取完毕,打开生成的CSV文件,其中包含经纬度坐标、联系方式、营业状态等完整信息,可直接用于商业分析、竞品地图绘制、选址决策研究等,获取数据前,只需要修改想要获取数据的关键词和对应区域的坐标范围,就能轻松采集全国任何区域的餐饮、商场、医院等POI数据。如果Key的额度用尽而数据还没有获取完成,控制台会打印请等额度恢复或替换Key后修改starting_index为具体的值后接续爬取!无论是城市规划研究还是商业智能分析,都能给予一定的数据支持:

代码获取

  • 获取方式:搜索公众号【数据实验室】,回复【百度地图调用接口获取】即可免费获取

免责声明:如有侵权,联系删除

最新文章

随机文章