# 📚 Loyal Books Scraper 从 https://www.loyalbooks.com 抓取免费有声书(LibriVox 项目) ## 目标 Children 分类前 6 页,约 **585 本书** ## 抓取内容 每本书包含: - **TXT 文本** - 完整书籍文本 - **MP3 ZIP** - 64kbps 压缩包(来自 Archive.org) ## 存储结构 ``` /home/ubuntu/media/loyalbooks/ └── children/ # 小写 └── Book-Name/ ├── Book-Name.txt # 文本文件 └── mp3_64kb.zip # MP3 压缩包 ``` ## 特性 - ✅ **断点续传** - 大文件支持 HTTP Range 请求 - ✅ **不重复下载** - 已存在且大小有效的文件自动跳过 - ✅ **临时文件保护** - 下载中使用 `.tmp` 后缀,完成后重命名 - ✅ **空间预估** - 显示已用空间和预计需用空间 ## 使用方法 ### 1. 获取书籍列表(Phase 1) ```bash ./start.sh fetch ``` - 抓取 6 页列表 - 访问每本书详情页获取下载链接 - 生成 `config/loyalbooks_children_index.json` ### 2. 下载书籍(Phase 2) **前台模式**: ```bash ./start.sh download ``` **后台模式**(推荐): ```bash ./start.sh download-bg ``` ### 3. 查看状态 ```bash ./start.sh status ``` ## 技术细节 | 阶段 | 间隔 | 预计时间 | |------|------|----------| | 列表抓取 | 3 秒 | ~1 分钟 | | 详情抓取 | 5 秒 | ~50 分钟 | | 文件下载 | 5 秒 | 数小时 | ## 网站结构 ``` /genre/Children?results=100&page=N ↓ 点击书籍 /book/Book-Name-by-Author ↓ 解析详情页 /download/text/Book-Name.txt http://www.archive.org/download/..._64kb_mp3.zip ``` ## 注意事项 - 文件较大(MP3 ZIP 可能数百 MB) - 建议后台模式 `./start.sh download-bg` - 支持断点续传