基于 MCP 的汽车网站信息抽取工具
本项目实现了一个基于 MCP(Model Context Protocol)的浏览器自动化数据抽取系统, 用于从主流中文汽车社区平台(懂车帝车友圈 与 汽车之家论坛)中稳定获取结构化帖子与评论数据。
系统重点解决真实网页环境中的常见难题,包括:
- 评论区懒加载与虚拟列表渲染
- 用户交互后产生的动态 DOM 更新
- 多层嵌套回复与折叠内容展开
- 占位图、表情图过滤与图片数据清洗
- URL 规范化处理与去重策略
✨ 核心功能
- 基于 MCP 的浏览器内自动化执行能力
实现在真实页面上下文中的点击、滚动、展开与数据读取。
- 稳健的 DOM 结构化抽取逻辑
支持获取帖子正文、评论、回复、图片及元信息。
- 自动展开隐藏评论与嵌套回复
结合交互模拟与状态检测,避免数据遗漏。
- 图片清洗与过滤流程
自动剔除占位图、UI 资源与表情图片,仅保留真实用户内容图。
- URL 规范化与去重
统一处理 query/hash,保证数据存储一致性。
## 📦 抽取数据结构示例
{
"post": {
"title": "...",
"author": "...",
"time": "...",
"content": "...",
"images": []
},
"comments": [
{
"author": "...",
"content": "...",
"time": "...",
"images": [],
"replies": []
}
]
}🚀 快速开始
0. 环境准备
请先确保本地已安装以下运行环境:
Node.js(包含 npm)
node -v
npm -v如未安装,请前往:https://nodejs.org 下载并安装最新 LTS 版本。
####Python(用于部分数据处理或脚本)
python --version本项目使用 pyproject.toml 管理 Python 依赖。
1. 克隆仓库
git clone https://github.com/your-username/MCP-Tools-for-Automotive-Website-Data-Extraction.git
cd MCP-Tools-for-Automotive-Website-Data-Extraction/chrome-devtools-mcp2. 安装依赖
npm install3. 构建项目
npm run build4. 安装python依赖
使用uv安装python程序部分所需依赖
cd ..
uv sync5. 运行脚本
本项目通过 LangChain Agent 调用 MCP 工具,在真实浏览器环境中执行页面交互与数据抽取。
uv run langchain_demo.py脚本会获取你的提示词,调用获取车辆信息的数据需要确切的url地址如:
>请输入你想咨询的问题,例如“佛罗里达今天的天气如何?”
用你所能用的工具获取https://www.dongchedi.com/ugc/article/1853526256983114 和 https://www.dongchedi.com/ugc/article/1840941554494467上的详情"系统执行流程:
- 初始化 MCP 客户端并连接浏览器实例
- 将已实现的 MCP 工具注册到 LangChain Agent
- Agent 根据用户指令自动规划调用路径并选择合适工具
- MCP 工具在真实浏览器上下文中执行页面访问、滚动、展开评论与信息抽取
- 工具返回结构化数据结果,作为 Agent 推理链中的中间输入
- LangChain Agent 对多工具结果进行整合,生成最终响应
6. 输出机制说明
本项目的抽取结果:
- 不会在工具内部直接输出到控制台
- 而是作为 MCP Tool 的返回值 进入 Agent 推理流程
- 由 LangChain Agent 统一整合并生成最终响应
典型结构化返回示例:
{
"post": { "...": "..." },
"comments": [
{ "...": "..." }
]
}