美团未开放ai菜品推荐api,php开发者需自建模型或接入第三方服务;可调用其poi搜索接口按关键词筛选,但仅支持简单匹配且需企业认证;禁止爬取h5页面。

美团AI菜品推荐接口怎么调用(PHP)
美团没有开放面向普通开发者的「菜品推荐」独立API,所谓“美团AI菜品推荐”实际是美团外卖App内嵌的推荐逻辑,不对外提供直接调用入口。你看到的文档或示例,基本是混淆了「美团开放平台」已上线的接口(如门店、商品、订单)和未开放的AI能力。
如果你真需要在PHP项目中实现口味偏好驱动的菜品推荐,只能绕道:自己建模 + 调用公开数据源,或接入第三方推荐服务。下面说具体能落地的方案。
用美团开放平台/poi/search按关键词模拟口味筛选
美团开放平台(developer.meituan.com)只开放了基础POI搜索接口,支持keyword参数传入“川菜”“清淡”“辣”等词,但不是AI推荐,只是关键词匹配。
- 必须先申请企业资质认证,个人开发者无法通过审核
-
keyword字段对语义理解极弱——传“适合老人的菜”会返回0结果,“少油少盐”可能匹配到“盐焗鸡” - 返回结果不含口味标签、营养成分、用户偏好权重,无法做二次排序
- 需拼接
appkey、sign(HMAC-SHA256签名)、timestamp,漏一个就返回{"code":4001,"msg":"签名错误"}
示例请求片段(注意sign需动态生成):
GET https://api.meituan.com/v2/poi/search?keyword=麻辣®ion=北京&limit=10&appkey=abc123×tamp=1717023456&sign=xxx
PHP里怎么安全传口味偏好给推荐模型(自建 or 第三方)
真正可行的路径是:把用户选的“辣度/甜度/忌口/偏好菜系”转成结构化向量,喂给自己的轻量模型,或转发给支持个性化推荐的第三方API(如腾讯云智能推荐、阿里云Quick Audience)。
- 别用GET传敏感偏好,比如
?taste=spicy&allergy=peanut——这些参数可能被日志记录或缓存,改用POST +application/json体 - 口味字段要标准化:用枚举值(
"spicy_level": 3)而非字符串("spicy_level": "很辣"),避免NLP解析开销 - 美团接口不认
user_id或历史行为,所以你的PHP后端得自己维护用户画像表,关联user_id→taste_vector - 如果调用第三方推荐API,注意其
scene参数是否支持“菜单推荐”场景——很多只支持“商品列表页”或“信息流”,填错会降权
简单结构示意:
$payload = [
'user_id' => 'u_789',
'taste_vector' => ['spicy_level' => 2, 'sweet_level' => 1, 'allergy' => ['nuts']],
'context' => ['city' => '上海', 'time_of_day' => 'dinner']
];
为什么不能直接file_get_contents抓美团H5页面推荐结果
有人试过用PHP抓取美团外卖网页的“猜你喜欢”区块,结果发现:返回HTML里根本没菜品数据,全是占位<div class="skeleton"></div>,真实内容靠JS动态渲染,且带设备指纹校验。
- 直接
file_get_contents会拿到空容器或反爬响应403 Forbidden - 加
User-Agent和Referer也没用——美团前端校验mtgsig(JS生成的加密签名),PHP服务端无法复现 - 即使绕过,每页最多10条,无分页Token,无法批量获取训练数据
- 违反
robots.txt和《美团平台商户合作规范》,有法律风险
这条路从技术到合规,都走不通。
真正卡住的点从来不是PHP语法,而是数据源头——美团没给你API,你就得自己搭管道。口味偏好再细,没有带标签的菜品库和行为反馈闭环,AI推荐就是个伪命题。先搞定数据标注和冷启动策略,比调哪个函数重要得多。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











