欢迎光临
我们一直在努力

Python + 高德地图 API:一键批量采集商家信息(名称/地址/电话/图片),自动导出 CSV

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}

一、背景

最近需要做一个本地生活商家的市场调研,手动在高德地图上翻页复制太慢了。于是用 Python 写了一个小工具,调用高德地图开放平台的 地点搜索 API,输入城市和关键词,就能自动采集商家信息,并保存为 CSV 文件。

实测采集数据很稳定,分享出来供有类似需求的同学参考。

二、效果截图

图1:GUI 输入界面 在这里插入图片描述

图2:采集结果 CSV 文件预览 在这里插入图片描述

三、核心功能

  • 支持指定城市、关键词、采集数量(默认50,可自定义)
  • 自动分页获取数据(每页20条,直到满足数量)
  • 提取字段:商家名称、地址、联系电话、门店图片URL
  • 自动生成时间戳字段(创建时间、修改时间)
  • 结果保存为 UTF-8 编码的 CSV,Excel 可直接打开

四、技术实现

4.1 依赖库

requests # 调用高德API
pandas # 数据处理与导出
tkinter # GUI界面(可选)

4.2 高德 API 说明

使用接口:https://restapi.amap.com/v3/place/text 参数:

  • city:城市名
  • keywords:搜索关键词
  • page / offset:分页控制
  • key:高德 Web API 密钥
4.3 部分代码片段

def run_main_gui():
"""主界面逻辑"""
global city_entry, keyword_entry, limit_entry, key_entry, account_var

root = tk.Tk()
root.title("MyAgent 高德地图数据采集模块")
root.geometry("400×450")

tk.Label(root, text="账号选择:").pack()
account_var = tk.StringVar(value="账号1")
tk.OptionMenu(root, account_var, "账号1", "账号2", "账号3").pack()

tk.Label(root, text="城市:").pack()
city_entry = tk.Entry(root)
city_entry.pack()

tk.Label(root, text="关键词:").pack()
keyword_entry = tk.Entry(root)
keyword_entry.pack()

tk.Label(root, text="采集数量:").pack()
limit_entry = tk.Entry(root)
limit_entry.insert(0, "50")
limit_entry.pack()

tk.Label(root, text="高德API Key:").pack()
key_entry = tk.Entry(root, show="*")
key_entry.pack()

tk.Button(root, text="开始采集", command=start_collection, bg="#4CAF50", fg="white").pack(pady=20)

root.mainloop()

4.4 GUI 界面

我用 tkinter 做了一个简单的窗口,方便非技术用户使用:

  • 账号选择(预留多账号切换)
  • 输入城市、关键词、采集数量、API Key
  • 点击按钮开始采集,完成后弹窗提示保存路径

五、使用步骤

  • 前往高德开放平台注册账号,申请 Web 服务 API Key
  • 安装 Python 环境,安装依赖:pip install requests pandas
  • 运行程序,填写参数
  • 等待采集完成,打开生成的 CSV 文件
  • 六、源码获取

    需要完整源码(含 GUI 界面)的同学可以在评论区留言,或者私信我。代码已经打包成 .exe,不会 Python 的也可以直接运行。

    如果觉得有用,欢迎点赞、收藏、评论三连~

    赞(0)
    未经允许不得转载:171主机测评 » Python + 高德地图 API:一键批量采集商家信息(名称/地址/电话/图片),自动导出 CSV
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址