dianping-info-query
大众点评信息查询技能
概述
本技能提供对大众点评网站(dianping.com)的专业信息查询能力,能够安全、高效地获取商户信息、评分数据和相关详情。技能内置完整的双状态登录检测机制,能够准确识别已登录和未登录两种状态,并提供相应的处理流程。
核心功能范围
支持的查询类型
- 商户搜索:按关键词、地点、分类搜索商户
- 商圈查询:支持热门商圈(如回民街、南京路等)的整体信息查询
- 商户详情:获取商户基本信息(名称、地址、电话、营业时间)
- 评分信息:获取综合评分、口味/环境/服务/食材分项评分(新增食材评分支持)
- 扩展信息:评价数量、人均消费、菜系分类、商圈位置、团购/订座标识
- 城市切换:支持在全国所有大众点评覆盖城市间灵活切换
- 深度信息查询:获取推荐菜列表、用户评论内容、评论标签及高频提及次数、营业时间等深度信息
- 多标签页管理:自动处理搜索过程中产生的新标签页,确保操作连续性
不支持的功能
- 需要深度登录验证的个人化内容(如个人收藏、历史记录)
- 批量自动化查询(单次查询为主)
登录状态检测与处理
双状态检测机制
-
未登录状态检测:
- 检查页面右上角是否存在"请登录/注册"文本
- 检查URL是否包含
account.dianping.com/pclogin - 查找登录相关的二维码图片或表单元素
-
已登录状态检测:
- 检查是否存在用户名元素(
.nick-name或.username) - 验证用户头像元素(
.user-face)是否存在 - 确认个人中心链接是否可访问
- 检查是否存在用户名元素(
用户引导流程
未登录状态:
- 立即暂停自动化操作
- 向用户说明当前需要手动登录
- 提供具体的登录指导(主要为二维码扫码登录)
- 等待用户确认登录完成后再继续执行查询
已登录状态:
- 直接执行查询操作
- 利用登录状态获取更完整的商户信息
- 如遇异常,重新检测登录状态
标准化操作SOP流程
基础查询流程
Step 1: 导航到大众点评首页 (https://www.dianping.com)
Step 2: 使用backbone分析页面结构,检测登录状态(双状态检测)
Step 3:
- 未登录:暂停并引导用户手动完成登录
- 已登录:继续执行查询
Step 4: 动态定位搜索框并输入查询关键词
- 使用search工具动态查找多种选择器:#myInput, #J-search-input, input.j-search-input
- 优先使用placeholder属性进行模糊匹配:input[placeholder*='搜索']
- 避免硬编码ref引用,提高跨页面稳定性
Step 5: 提交搜索并等待结果页面加载
Step 6: 自动处理标签页切换(如产生新标签页)
Step 7: 使用readability提取结构化信息(包含完整分项评分和用户标签)
Step 8: 返回整理后的商户信息
城市切换流程
Step 1: 导航到当前城市页面
Step 2: 点击城市选择图标(img.city-select-icon)
Step 3: 在城市列表页面搜索目标城市
Step 4: 点击目标城市链接完成切换
Step 5: 验证城市切换成功(检查URL和当前城市显示)
Step 6: 执行目标城市的查询操作
深度信息查询流程
Step 1: 完成基础查询,进入商户详情页面
Step 2: 使用readability提取完整页面内容(自动包含食材评分和用户标签次数)
Step 3: 定位推荐菜区域(#shop-dish)获取菜品列表
Step 4: 提取用户评论信息(评分、评论数量、评论标签及提及次数、详细评论内容)
Step 5: 整理并返回完整的深度信息
多标签页管理流程
Step 1: 执行可能产生新标签页的操作(如搜索提交)
Step 2: 使用list_tabs获取所有打开的标签页
Step 3: 识别最新打开的标签页(通常为搜索结果页)
Step 4: 自动focus到最新标签页
Step 5: 验证标签页URL和标题确保正确性
Step 6: 继续后续操作
浏览器工具Action支持清单
导航与页面分析
navigate: 访问指定URL(首页或具体商户页面)backbone: 分析页面整体结构,识别关键交互元素search: 优先使用动态定位特定元素(搜索框、商户卡片、评分元素等)readability: 提取商户详情页面的结构化文本内容(推荐首选)list_tabs: 获取所有打开的标签页信息(用于多标签页管理)
用户交互
type: 在搜索框中输入查询关键词click: 点击搜索按钮、商户链接或城市选择图标press: 模拟键盘操作(如Enter提交)focus_tab: 切换到指定标签页(用于多标签页场景)
内容提取
readability: 首选方案提取商户详情页面的完整结构化内容(包含食材评分、用户标签次数等)snapshot: 获取完整DOM用于复杂内容分析(备用方案)
具体操作示例
示例1:查询成都小龙坎火锅(已登录状态)
// Step 1: 导航到首页
use_browser(action="navigate", url="https://www.dianping.com")
// Step 2: 检测登录状态
use_browser(action="backbone")
// 检查是否存在用户名元素(已登录状态)
// Step 3: 动态定位搜索框
use_browser(action="search", query="#myInput")
// Step 4: 执行搜索(已登录,直接执行)
use_browser(action="type", ref="found-ref", text="成都小龙坎老火锅", submit=true)
// Step 5: 提取完整结果(包含食材评分4.7、用户标签次数等)
use_browser(action="readability")
示例2:处理未登录状态
// Step 1: 导航到首页
use_browser(action="navigate", url="https://www.dianping.com")
// Step 2: 检测到未登录状态
use_browser(action="backbone")
// 发现"请登录/注册"文本
// Step 3: 引导用户手动登录
// [暂停操作,提示用户扫码登录]
// Step 4: 用户确认登录后继续
use_browser(action="search", query="#myInput")
use_browser(action="type", ref="found-ref", text="北京中关村 咖啡店", submit=true)
示例3:城市切换操作
// Step 1: 导航到当前城市
use_browser(action="navigate", url="https://www.dianping.com")
// Step 2: 点击城市选择图标
use_browser(action="search", query=".city-select-icon")
use_browser(action="click", ref="found-ref")
// Step 3: 搜索目标城市
use_browser(action="search", query="成都")
// Step 4: 点击成都城市链接
use_browser(action="click", ref="found-beijing-ref")
// Step 5: 验证切换成功后执行查询
use_browser(action="search", query="#myInput")
use_browser(action="type", ref="found-ref", text="小龙坎火锅", submit=true)
示例4:深度信息查询(包含食材评分和用户标签)
// Step 1: 进入商户详情页面后
use_browser(action="readability") // 提取完整页面内容
// 结果将包含:
// - 综合评分: 4.4分
// - 分项评分: 口味4.4, 环境4.4, 服务4.4, 食材4.7
// - 用户标签: ["排队情况(2269次)", "收银员态度好(647次)", "环境干净整洁(646次)", ...]
// - 推荐菜: ["鸳鸯锅", "玫瑰圆子", "牛奶鸭血", ...]
// - 营业时间: 11:00-次日02:00
示例5:动态搜索框定位(增强稳定性)
// 使用search工具动态定位搜索框,避免硬编码
use_browser(action="search", query="#myInput")
// 或在搜索结果页
use_browser(action="search", query="#J-search-input")
// 根据返回的ref进行操作
use_browser(action="type", ref="found-ref", text="查询关键词", submit=true)
示例6:跨页面搜索框动态定位(最新优化)
// 统一的搜索框定位策略,兼容不同页面
use_browser(action="search", query="input[placeholder*='搜索'],#myInput,#J-search-input,input.j-search-input")
// 选择第一个找到的搜索框
use_browser(action="type", ref="first-found-ref", text="西安回民街", submit=true)
示例7:自动标签页管理(最新优化)
// 执行搜索后自动处理标签页
use_browser(action="type", ref="search-input-ref", text="回民街", submit=true)
// 获取所有标签页
use_browser(action="list_tabs")
// 自动切换到最新标签页(搜索结果页)
use_browser(action="focus_tab", targetId="latest-search-tab-id")
// 继续后续操作
use_browser(action="readability")
示例8:商圈查询支持(最新优化)
// 查询热门商圈(如回民街、南京路等)
use_browser(action="search", query="input[placeholder*='搜索']")
use_browser(action="type", ref="found-ref", text="西安回民街", submit=true)
// 提取商圈整体信息
use_browser(action="readability")
// 结果包含商圈评分、总评价数、热门标签、地理位置等信息
错误处理与最佳实践
常见问题处理
- 登录状态异常:重新检测登录状态,必要时重新引导
- 网络超时:重试1-2次,如仍失败则报告错误
- 元素未找到:使用search动态定位,避免硬编码ref(重要优化)
- 内容加载不全:添加适当的等待时间或使用wait_for
- 搜索结果为空:提供友好的空结果提示
- 城市切换失败:验证城市列表页面结构,重新定位城市链接
- 验证码/滑块验证:识别安全机制,引导用户手动处理
- 标签页管理异常:使用list_tabs重新获取标签页列表,确保操作正确性
性能优化建议
- **优先使用
readability而非snapshot**以提高效率和信息完整性 - 使用
search工具进行动态元素定位(核心优化点) - 实施多标签页自动管理,避免手动切换错误
- 避免不必要的页面刷新和重复导航
- 合理设置超时时间(建议30-60秒)
- 利用登录状态持久化特性减少重复登录
- 城市切换后验证URL变化确保切换成功
- 完整提取分项评分,包括新增的食材评分维度
- 提取用户标签及提及次数,提供更丰富的用户反馈分析
- 支持商圈查询,扩展应用场景覆盖范围
参考资源
浏览器工具文档
references/browser-actions.md:详细的浏览器工具Action使用指南(已更新动态定位策略)references/dianping-selectors.md:大众点评常用CSS选择器参考(已更新食材评分和用户标签)references/tab-management.md:多标签页处理最佳实践指南(新增)references/city-switching.md:城市切换操作指南references/deep-info-extraction.md:深度信息提取方法(已更新商圈查询支持)
操作流程模板
references/query-workflow.md:标准查询工作流模板references/login-handling.md:双状态登录处理最佳实践
使用场景触发条件
当用户提出以下类型的需求时,应触发本技能:
- "帮我查一下大众点评上[地点][类型]的店铺"
- "在大众点评搜索[关键词]"
- "获取大众点评上某家店的详细信息"
- "查询大众点评的商户评分和地址"
- "查看大众点评上某家店的评价数量和人均价格"
- "切换到[城市]查询[关键词]"
- "获取某家店的推荐菜和用户评论"
- "查询商户的食材评分和用户标签"
- "查询热门商圈(如回民街、南京路)的整体信息"
- 任何涉及从大众点评网站提取结构化商户信息的请求
验证状态
本技能已通过多场景验证,包括:
- ✅ 北京中关村咖啡店查询
- ✅ 上海外滩餐厅查询
- ✅ 广州天河粤菜查询
- ✅ 成都小龙坎火锅查询(最新验证,确认食材评分4.7和用户标签次数提取)
- ✅ 杭州老陕面馆查询
- ✅ 西安回民街商圈查询(最新验证,确认跨区域城市切换、商圈信息提取、多标签页管理功能)
技能现已完全符合Anthropic标准skill规范,能够在生产环境中稳定运行。
More from stvlynn/dingtalk-wukong-skills
ctrip-flight-search
基于浏览器自动化工具的携程航班查询技能,支持单程、往返航班查询,能够处理出发地、目的地、日期等参数输入,并具备错误恢复机制。适用于需要从携程网查询航班信息、获取航班价格和时刻表的场景。
116dws
管理钉钉产品能力(AI表格/日历/通讯录/文档/机器人/待办/邮箱/听记/AI应用/审批/日志/钉盘等)。当用户需要操作表格数据、管理日程会议、查询通讯录、发送消息通知、处理审批流程、查看听记摘要、创建应用/系统/管理后台/业务工具、查看日报周报、管理钉盘文件时使用。
108pdf-convert-to-word
Convert PDF files into editable Word and Markdown outputs with the bundled conversion scripts and workflow guide.
80pptx
Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks
5812306-train-query
专业的12306火车票班次查询技能,支持准确的车站选择、日期指定和车次信息获取。使用已验证的浏览器操作SOP流程和URL参数直接查询策略,确保查询结果的准确性。适用于用户需要查询火车班次、余票信息、车次时间等12306相关查询场景。
58xlsx
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
55