Agent应用指南:利用POST请求获取麦当劳门店位置信息

麦门永存 · 上海麦麦版图:619 家门店、152 家在浦东、97% 卖咖啡

POST请求

所有大规模连锁品牌都有两个面。正面是你打开手机 App 看到的那些------菜单划不到底、门店图修得像摄影棚、每一张优惠券都经过 A/B 测试。背面是接口,是数据管道,是前端和后端之间那些工程师背后的东西。

麦当劳的背面,有一条 POST 请求。

它躺在官网地图页的 Network 面板里,像一封没有贴封条的信。Payload 是一对经纬度,返回值是方圆一公里内所有麦当劳的简短档案------店名、门牌号、电话、坐标,外加四个布尔开关:有没有麦咖啡、有没有滑梯、通不通宵、能不能不下车就拿到一袋薯条。

打开官方门店查询网址,按 F12 打开开发者工具 → 切换到 Network(网络) 面板 → 刷新页面 → 筛选 Fetch /XHR 请求。

首先,我们找到门店数据的存储位置,然后看3个关键部分标头、负载、 预览;

标头:通常包括URL的连接,也就是目标资源的位置;

负载:对于POST请求:负载通常包含了传递的参数,因为所有参数都通过URL传递,这里我们可以看到查询关键词、当前查询位置的lon,lat(经纬度坐标);

预览:指的是对响应内容的快速查看或摘要显示,可以帮助用户快速了解返回的数据结构或内容片段,我们可以看到数据在整个静态html里;


布网

这个接口的返回半径是大约1.5公里。我需要的是一张能兜住整座上海的渔网。

网眼确定之后,还得知道网往哪儿投。我从一个 SHP 文件里掏出了上海的形状------完整的多边形描边,六个独立环,描出大陆岸线、崇明岛的入海口、长兴岛孤立的礁石轮廓。用这些环把网格筛了一遍:落在水里的剔除,掉进江心的丢掉,最后剩下 3234 个有效格点

3234 不是一个小数字。但它恰好是那个刚好够用的数字------多一个格点不增加新门店,少一个格点你就肯定漏了点什么。这是统计学和直觉在 3234 这个点上达成的精确妥协。

这里通过脚本遍历所有门店数据并去重得到对应的数据集;

数据标签包括:title(门店名称)、address(门店地址)、tel(电话)、worktime(工作时间)、lon&lat(坐标),其他一些非关键标签,这里省略;

由于门店数据使用的是百度坐标系(BD-09),而我们通过地图展示的又是高德坐标系(GCJ-02),所以这里进行一次坐标转换;


数字

总账:619 间。

619,不是 618,不是 620。这个数字里有浦东新区 152 间店的疯狂,也有崇明岛 6 间店的倔强。

上海一共 16 个行政区,每一块行政边界内都至少躺着一家麦当劳。这不是偶然------这只说明一件事:麦当劳在行政区划层面不存在盲区。 只要行政边界画好了,地图上就必须长出一个红底金字的 M。

但分布不是均匀的。浦东一家就占了所有门户的四分之一,第二名的闵行需要拉上宝山、徐汇两个弟兄才能勉强和它平起平坐。这不是马太效应,这是城市的肌理在用数据说话。

更狠的一组数字藏在标签里:

  • 麦咖啡覆盖率 97%。 这不是"部分门店提供",这是几乎全线标配。你在上海地图上随机戳一个红点,走进去,大概率有现磨咖啡。星巴克需要为这个数字感到紧张------不是因为它少,而是因为麦当劳做到这个覆盖率几乎没花额外的租金成本。
  • 儿童游乐区覆盖 52%。 过半的门店给滑梯和海洋球池留了地。这是一个信号:家庭客群在麦当劳的客流模型里,比任何第三方报告告诉你的都要重。
  • 得来速只有 52 家,24 小时只有 29 家。 这两个标签的稀缺程度反过来解释了上海的商业地产逻辑------绝大多数麦当劳开在商场内部,没有临街车道,夜间人流主要靠骑手配送而不是堂食。

梯度

把上海拆成五层:

浦东单枪匹马 152 间。中心城区七区合计,不过再多一点点。到了近郊三区,数量开始断崖。进入远郊四区和崇明岛之后,两位数变成了个位数。每一层都是一道衰减梯度,每一道梯度背后都有商业地产的开发节奏、人口密度、通勤热力在撑腰。

这张图比任何规划部门的文件都诚实。


收束

619 家门店的数据,最后收拢成一个 CSV 文件、一张 Leaflet 交互地图。

文件不长,脚本不复杂,接口不需要登录。

我只是好奇:上海到底有几家麦当劳。现在我知道了。

619 家。每一家的地板上都粘过一滴番茄酱。


文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。

相关推荐
leoZ2311 天前
本地跑大模型实战(七):llama.cpp 性能调优,让推理更快更省
java·人工智能·spring·生成对抗网络·语言模型·自然语言处理·llama
To_OC1 天前
我把《天龙八部》塞进向量数据库后,终于搞懂了 RAG 到底是个啥
人工智能·llm·agent
蜡台1 天前
AI Agent(智能体)入门基础教程
人工智能
Akir.weiwen1 天前
Token 层差异:从颜色值到语义状态的三层跃迁
人工智能·设计规范
迷迭香yy1 天前
集合竞价数据挖掘实战:用Python构建开盘信号识别系统
人工智能·python·数据挖掘
大模型momo1 天前
Spring AI 实战:多 Agent 协作实战 —— 分工拆解复杂旅游行程任务
人工智能·spring·ai·agent·旅游
小程故事多_801 天前
从A2C、TRPO、PPO到GRPO,强化学习策略梯度算法完整演进与大模型落地实战解析
人工智能·算法
冬奇Lab1 天前
开源项目第176期:Better Harness — 不审查 diff,审查工作流本身,给 AI 编程 Agent 的五维评估框架
人工智能·开源·agent
冬奇Lab1 天前
代码库知识库系列(07):混合检索 BM25 + 向量——Q8 还是失败,而且总分退步了
人工智能
ajassi20001 天前
AI语音智能体开发日记(十一)为智能设备“声”临其境——详解音频资源自动化生成流程
人工智能·ai·ai编程