# xpath scraper **Repository Path**: elihe999/xpath-scraper ## Basic Information - **Project Name**: xpath scraper - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-26 - **Last Updated**: 2026-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: ctx ## README # Chrome Content Scraper 一个 Chrome 浏览器扩展,用于按网站域名配置 XPath 或 CSS 选择器,自动抓取页面文本内容。 ## 做什么用 访问网页时,扩展会根据当前域名查找已配置的规则,用 XPath / CSS Selector 匹配页面元素,提取其中的文本(`textContent`),并保存到本地。 典型场景: - 固定栏目、列表页的标题、正文抓取 - 多站点、多字段的结构化采集(按域名分别配置) - SPA 页面在 DOM 变化后自动重新抓取(开启动态监听) ## 主要功能 - **按域名配置规则** — 为不同网站设置多条 XPath 或 CSS 表达式 - **自动抓取** — 全局开关开启后,页面加载完成即执行 - **手动抓取** — Popup 中可「立即抓取」当前页面 - **动态监听** — 可选 MutationObserver,页面内容变化后防抖重抓 - **结果存储** — IndexedDB 本地存储,或导出为 JSON 文件 - **配置管理** — Side Panel 中增删改规则,支持导入/导出配置 - **执行日志** — 记录抓取过程与匹配数量 ## 使用方式 1. 运行 `npm install` 安装依赖 2. 运行 `npm run build` 构建扩展 3. 在 Chrome 打开 `chrome://extensions/`,开启「开发者模式」,点击「加载已解压的扩展程序」,选择本项目根目录 4. 点击扩展图标打开 Side Panel,添加域名规则与表达式 5. 开启全局开关后访问对应网站,或在 Popup 中点击「立即抓取」 > 全局开关默认关闭,需手动开启后才会抓取。 ## 开发 ```bash npm run build # 构建 npm run build:types # TypeScript 类型检查 npm test # 运行测试 ``` ## 技术栈 - Chrome Extension Manifest V3 - TypeScript + esbuild - chrome.storage.sync(配置)+ IndexedDB(抓取结果与日志)