这是一个专门用于批量下载电影页面中所有图片的自动化服务。该服务解决了手动复制下载链接效率低下的问题,实现了系统化的批量下载和服务器间文件迁移。
# 方法1: 使用启动脚本
./start_batch_download.sh
# 方法2: 直接运行Python
python3 batch_download_service.py --port 8084
打开浏览器访问: http://localhost:8084
输入URL: 在URL输入框中粘贴电影页面链接
示例: https://5gp4d4my49-8082.cnb.run/movie/127086/70164?groupType=P&territoryId=1035
解析页面: 点击"解析页面"按钮,系统会自动提取所有图片文件
配置参数: 根据需要调整下载配置
开始下载: 点击"开始批量下载"启动下载任务
监控进度: 在任务列表中实时查看下载进度
下载文件: 完成后可以查看文件详情或打包下载
./deploy_to_target.sh user@target-server.com /opt/batch_download 22
参数说明:
user@target-server.com: 目标服务器SSH地址/opt/batch_download: 目标安装路径22: SSH端口scp batch_download_service.py user@server:/tmp/ scp -r templates/ user@server:/tmp/
pip3 install flask requests sqlite3
python3 batch_download_service.py --port 8084
POST /api/parse_movie_url Content-Type: application/json { "url": "https://5gp4d4my49-8082.cnb.run/movie/127086/70164?groupType=P&territoryId=1035" }
POST /api/start_batch_download Content-Type: application/json { "movie_info": { "title_id": 127086, "release_id": 70164, "group_type": "P", "territory_id": 1035 }, "files": [ { "runner_id": 15016302, "file_name": "poster.jpg", "file_size": 2048576 } ], "config": { "max_concurrent_downloads": 5, "download_timeout": 300, "retry_attempts": 3 } }
GET /api/download_status
GET /api/download_detail/{task_id}
POST /api/create_download_package/{task_id} Content-Type: application/json { "type": "zip" }
{
"max_concurrent_downloads": 5, // 最大并发下载数
"download_timeout": 300, // 下载超时时间(秒)
"retry_attempts": 3, // 重试次数
"retry_delay": 5, // 重试延迟(秒)
"chunk_size": 8192, // 下载块大小
"temp_dir": "temp_downloads", // 临时下载目录
"final_dir": "completed_downloads", // 完成文件目录
"max_queue_size": 100 // 最大队列大小
}
| 场景 | 并发数 | 超时时间 | 重试次数 | 说明 |
|---|---|---|---|---|
| 小文件(<10MB) | 10 | 60 | 2 | 提高并发,减少超时 |
| 中等文件(10-100MB) | 5 | 300 | 3 | 平衡配置 |
| 大文件(>100MB) | 3 | 600 | 5 | 降低并发,增加容错 |
| 网络不稳定 | 2 | 900 | 10 | 最大化容错 |
batch_download_service.py # 主服务文件 templates/ └── batch_download.html # Web界面模板 temp_downloads/ # 临时下载目录 completed_downloads/ # 完成文件目录 data/ # 数据库目录 start_batch_download.sh # 启动脚本 deploy_to_target.sh # 部署脚本
登录失败
下载失败
内存不足
磁盘空间不足
# 查看服务日志
tail -f app.log
# 查看系统服务日志
sudo journalctl -u batch-download -f
# 查看错误日志
grep ERROR app.log
最低配置:
推荐配置:
网络优化
存储优化
系统优化
访问控制
数据安全
系统安全
如遇到问题,请提供以下信息:
联系方式:通过项目Issue提交问题报告。
注意: 本服务仅用于合法的文件下载用途,请遵守相关法律法规和网站使用条款。