# capture-无头浏览器+ORC **Repository Path**: sprouting/capture ## Basic Information - **Project Name**: capture-无头浏览器+ORC - **Description**: 无头浏览器+ORC实现爬虫 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-07 - **Last Updated**: 2026-04-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 通用小说爬虫、视频截屏识别、文字识别、语音、OCR项目 这是一个综合项目,支持通用爬虫、OCR离线识别,视频抽帧字幕识别、语音识别、文字转语音等等。 ### 环境要求 - Java 21+ - Maven 3.6.3+(建议 3.9+) - Node.js(可选,仅前端开发需要) - Playwright 浏览器 ### 环境安装 #### 安装Playwright 浏览器 首次使用前,需要下载 Chromium 浏览器核心(约 280MB)。系统会在启动时自动检查并安装,你也可以选择手动安装。 首次启动会自动安装 ``` 2026-03-07 10:00:00 INFO - 正在检查 Playwright 浏览器... 2026-03-07 10:00:01 WARN - ⚠️ 浏览器未安装,正在自动安装 Chromium... 2026-03-07 10:00:01 WARN - ⏱️ 这可能需要几分钟,请耐心等待... [下载进度条...] 2026-03-07 10:02:30 INFO - ✅ 浏览器安装成功! ``` 也可以自己先下载好,然后配置该地址:`playwright.browsers-path` ![image-20260404182506867](README.assets/image-20260404182506867.png) 实际下载的情况 ![image-20260404182531781](README.assets/image-20260404182531781.png) 这个浏览器主要是用于爬虫。 Playwright 会固定使用对应版本的 Chromium(本项目 Playwright Java 版本为 1.40.0)。如下是下载的地址: ``` browser: chromium version 120.0.6099.28 Install location: D:\kaiFa\PlaywrightBrowsers\chromium-1091 Download url: https://playwright.azureedge.net/builds/chromium/1091/chromium-win64.zip Download fallback 1: https://playwright-akamai.azureedge.net/builds/chromium/1091/chromium-win64.zip Download fallback 2: https://playwright-verizon.azureedge.net/builds/chromium/1091/chromium-win64.zip ``` 浏览器安装完成后,检查目录结构: ```powershell dir D:\kaiFa\PlaywrightBrowsers ``` 应该看到类似这样的结构: ``` D:\kaiFa\PlaywrightBrowsers\ ├── chromium-xxxx\ │ ├── chrome-win\ │ │ ├── chrome.exe │ │ └── ... │ └── ... └── .links\... ``` 启动应用测试: ```powershell cd e:\kaiFa\IDEATest\capture mvn spring-boot:run ``` 查看日志,如果出现以下内容说明成功: ``` INFO - ✅ Playwright 浏览器已安装 INFO - 正在初始化 Playwright 浏览器... ``` ### 项目使用说明 启动项目后,可以看到访问地址,直接点击就能访问: ![image-20260404183034815](README.assets/image-20260404183034815.png) 然后可以看到界面 ![image-20260404183205952](README.assets/image-20260404183205952.png) #### 通用小说爬虫 最开始做这个项目的时候主要是为了解决爬虫的,每个网站都去搞规则太麻烦了,就想着利用无头浏览器做爬虫,也能解决很多的反爬措施。 ![image-20260404183332197](README.assets/image-20260404183332197.png) 最上面可以将之前的爬虫配置保存。 爬虫分列表模式,以及自动模式。意思是一种打开一个列表,里面有不少的链接,一个章节一个章节的爬,还有一种就是一直点击下一页的这种。 下面看列表模式举个例子 ![image-20260404183647324](README.assets/image-20260404183647324.png) 比如这个找到正文,发现正文的就是通过id可以定位, 列表的话,直接随便找一个 ![image-20260404183755329](README.assets/image-20260404183755329.png) 右键 ![image-20260404183853592](README.assets/image-20260404183853592.png) 不需要处理xpath 建议不要选择无头模式,防止被反爬的情况下你无法点击,除非确定不会有问题 ![image-20260404184038456](README.assets/image-20260404184038456.png) 点击章节预览,会让你先预览识别到的章节 ![image-20260404225038996](README.assets/image-20260404225038996.png) 当你勾选后就可以开始爬了,个人的建议是不要马上识别,而是等待下载所有截图后在进行识别操作。 #### OCR识别 这个功能主要用于批量的图片OCR识别,下载文件后就可以对整个文件夹进行识别,最终将识别的文件放到一个txt中。 ![image-20260404225429644](README.assets/image-20260404225429644.png) #### 视频抽帧字幕识别 选择文件后就可以加载预览 ![image-20260404233913937](README.assets/image-20260404233913937.png) 框选文字 ![image-20260404233939686](README.assets/image-20260404233939686.png) 框选后右边就可以看到会截图的区域 ![image-20260404234005847](README.assets/image-20260404234005847.png) 下面就可以配置多久进行一次截图 ![image-20260404234025679](README.assets/image-20260404234025679.png) 建议先截图不要识别,等到全部识别后在用OCR进行批量识别。 #### 语音识别 支持录音识别和录音 ![image-20260404234246957](README.assets/image-20260404234246957.png) 这个一定要看说明文件 ![image-20260404234331338](README.assets/image-20260404234331338.png) 这个语音识别是需要下载模型的 这里下载的这个模型 ![image-20260404234500593](README.assets/image-20260404234500593.png) 可选的模型: 模型: https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models | 模型规格 | 下载链接 | | -------------------- | ------------------------------------------------------------ | | **Tiny** (英文专用) | `https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.en.tar.bz2` | | **Tiny** (多语言) | `https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.tar.bz2` | | **Base** | `https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-base.tar.bz2` | | **Small** (你已有的) | `https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-small.tar.bz2` | | **Medium** | `https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-medium.tar.bz2` | | **Large-v3** | `https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-large-v3.tar.bz2` | 单纯论“效果最好”(准确率最高),**`large-v3`是 Whisper 系列的冠军**。但“最好”往往意味着“最贵”(计算资源),选型时通常需要在精度、速度和硬件成本之间做权衡。 1. 下载并解压 sherpa-onnx-whisper-small.tar.bz2 (Windows 可用 7-Zip,或系统自带 tar -xf xxx.tar.bz2 )。 2. 解压后目录里会有类似这些文件(以实际文件名为准): - small-encoder.int8.onnx / small-decoder.int8.onnx (或不带 .int8 的 fp32 版本) - small-tokens.txt (或 tokens.txt ,以目录实际为准) 3. 把你 application.properties 里的 3 行改成实际路径 #### 文字转语音 ![image-20260404234615675](README.assets/image-20260404234615675.png) 这个使用的是 Kokoro multi-lang 模型合成 wav。 相关下载信息: ``` 文字转语音 tar xf kokoro-multi-lang-v1_0.tar.bz2 访问地址:https://k2-fsa.github.io/sherpa/onnx/tts/pretrained_models/kokoro.html 下载地址: https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-multi-lang-v1_0.tar.bz2 模型: https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models ``` 接着做相关的配置 ![image-20260404234810922](README.assets/image-20260404234810922.png)