/* 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
- 点击按钮开始采集,完成后弹窗提示保存路径
五、使用步骤
六、源码获取
需要完整源码(含 GUI 界面)的同学可以在评论区留言,或者私信我。代码已经打包成 .exe,不会 Python 的也可以直接运行。
如果觉得有用,欢迎点赞、收藏、评论三连~

