# amazonPlugin **Repository Path**: php_project/amazon-plugin ## Basic Information - **Project Name**: amazonPlugin - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-21 - **Last Updated**: 2026-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Amazon Product Scraper 基于 **Manifest V3** 的 Chrome 浏览器扩展,用于在 **亚马逊美国站**(`amazon.com`)抓取商品信息,并导出为带图片的 HTML 表格或可在 Excel 中打开的 HTML 文件(扩展名为 `.xlsx`,实为 HTML 表格)。 ## 功能概览 - **抓取当前商品**:在商品详情页(含 `/dp/` 或存在 `#productTitle`)提取标题、ASIN、价格、评分、五点描述、主图、A+ 图片等。 - **批量抓取列表**:在搜索结果页(`/s?` 或 `/search/`)收集列表中的商品链接,后台依次打开详情页并抓取;完成后会**自动导出**批量结果(默认 HTML 表格)。 - **导出**:支持「HTML(可视化图片)」与「Excel」两种格式(后者为 HTML 表格,便于用 Excel 打开查看图片)。 - **停止 / 重置**:可中断批量任务;重置会清空已存数据与进度(会先取消进行中的任务)。 ## 安装方式 1. 克隆或下载本仓库到本地。 2. 打开 Chrome,进入 `chrome://extensions/`。 3. 打开右上角「开发者模式」。 4. 点击「加载已解压的扩展程序」,选择本项目根目录(包含 `manifest.json` 的文件夹)。 ## 使用说明 1. 打开 [https://www.amazon.com/](https://www.amazon.com/) 并登录(若页面需要)。 2. 点击浏览器工具栏中的扩展图标,打开弹出窗口。 3. **单商品**:进入任意商品详情页,点击「抓取当前商品」。 4. **批量**:在搜索列表页点击「批量抓取列表」;任务在后台运行,可关闭弹窗;弹窗约每 3 秒刷新一次进度。 5. 需要文件时,选择导出格式后点击「导出为表格」;批量任务全部完成后也会自动触发一次 HTML 导出。 ## 抓取字段说明 | 字段 | 说明 | |------|------| | 标题 / 链接 | 商品名称与当前页 URL | | ASIN | 从 URL 或页面 `#ASIN` 输入框解析 | | 价格 | 常见价格节点(Our Price、Deal、Offscreen 等) | | 评分 | 评论摘要区域文案 | | 五点描述 | `#feature-bullets` 列表 | | 主图 | 轮播 / 主图区域,过滤占位与播放图标类图片 | | A+ 图片 | A+ 模块、`data-a-dynamic-image`、`picture/source` 等 | 亚马逊页面结构可能更新;若某字段为空,需在 `content.js` 中按实际 DOM 调整选择器。 ## 项目结构 ``` manifest.json # 扩展配置(权限、内容脚本、后台 Service Worker) background.js # 后台:存储、批量打开标签、导出、进度 content.js # 注入页面:解析 DOM、响应抓取与列表链接消息 popup.html # 弹窗界面 popup.js # 弹窗逻辑:触发抓取、导出、停止、重置 ``` ## 权限说明 - `activeTab` / `scripting`:向当前亚马逊页注入脚本并通信。 - `tabs`:批量抓取时创建后台标签并等待加载完成。 - `downloads`:导出文件到本机。 - `storage`:本地保存抓取结果与进度。 - `host_permissions`:仅限 `amazon.com` 及相关图片域名。 ## 开发者说明 - **批量并发**:`background.js` 中的常量 `BATCH_CONCURRENT_TABS`(默认 5)表示同时保持的后台标签数量;机器较卡时可改为 3~4,不建议过大。 - **合规与用途**:请遵守亚马逊服务条款与 robots 规则,仅用于个人学习或您有权采集的数据场景;高频抓取可能导致账号或 IP 受限。 ## 版本 当前扩展版本见 `manifest.json` 中的 `version` 字段。