86 lines
1.7 KiB
Markdown
86 lines
1.7 KiB
Markdown
# 📚 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`
|
||
- 支持断点续传
|