万能网页数据采集器 - Chrome Extension产品系统Vibe Coding

我要开发同款
ZacharyXavier2026年06月09日
10阅读

技术信息

语言技术
HTML5CSSJavaScript
系统类型
小程序轻应用Web
行业分类
人工智能

作品详情

行业场景

智能识别模式
用户无需任何配置,点击即可自动检测当前网页的结构化数据。内置三级识别策略:

1. **表格识别** — 自动检测页面中的 元素,提取表头和数据行
2. **列表识别** — 自动检测商品列表、卡片列表、文章列表等重复结构
3. **链接识别** — 自动提取页面中所有有意义的超链接

### 🎯 CSS选择器模式
高级用户可手动指定采集规则:

- 填写行选择器(如 .product-item、tr),定位每一行数据
- 填写字段定义(JSON格式),精确指定要提取的字段和对应的 CSS 选择器
- 支持提取文本内容、链接(href)、图片(src)等属性

功能介绍

一款基于 Chrome Manifest V3 的网页数据采集工具,支持两种采集模式:

### 🤖 智能识别模式
用户无需任何配置,点击即可自动检测当前网页的结构化数据。内置三级识别策略:

1. **表格识别** — 自动检测页面中的 元素,提取表头和数据行
2. **列表识别** — 自动检测商品列表、卡片列表、文章列表等重复结构
3. **链接识别** — 自动提取页面中所有有意义的超链接

### 🎯 CSS选择器模式
高级用户可手动指定采集规则:

- 填写行选择器(如 .product-item、tr),定位每一行数据
- 填写字段定义(JSON格式),精确指定要提取的字段和对应的 CSS 选择器
- 支持提取文本内容、链接(href)、图片(src)等属性

### 📊 数据预览与导出

- 采集结果实时在弹窗中渲染为表格预览
- 导出 CSV(含 BOM 头,Excel 直接打开不乱码)
- 导出 JSON(结构化数据,便于程序处理)
- 配置自动保存到浏览器本地存储

项目实现

### 架构设计

采用 Chrome Extension Manifest V3 标准架构,分三个层面:

| 层级 | 文件 | 职责 |
|------|------|------|
| UI层 | popup.html / popup.js | 弹窗交互界面,采集控制与数据预览 |
| 逻辑层 | content.js | 注入目标页面,DOM 操作与数据提取 |
| 后台层 | background.js | Service Worker,管理安装生命周期 |

### 通信机制

采用 Chrome 扩展标准的消息通信模型:

用户点击采集 → popup.js 通过 chrome.tabs.sendMessage 向 content.js 发送配置 → content.js 执行 DOM 解析 → 返回结构化数据 → popup.js 渲染预览表格

### 智能识别算法

content.js 中的 autoScrape() 函数实现了多策略识别:

- **Table 策略**:遍历页面所有表格,选取行数最多的作为数据源
- **List 策略**:预定义了 7 种常见列表 CSS 选择器(ul/li、.card、.product、.post 等),逐一匹配并验证文本多样性
- **Link 策略**:提取正文区域的超链接,过滤导航/页脚等无关区域

### 数据导出

- CSV 导出:添加 UTF-8 BOM(\uFEFF)确保 Excel 正确识别中文
- 字段值自动转义双引号,防止 CSV 格式错乱

### 技术栈

- 纯原生 JavaScript,零第三方依赖
- Chrome Extension Manifest V3
- Chrome API:scripting(脚本注入)、storage(本地存储)、downloads(文件下载)、ta

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论