本项目是一个基于教学目的的唐人街影视网站电视剧下载工具,支持下载指定电视剧的单集或批量下载多集视频。该工具通过解析网站的HLS流媒体链接,使用streamlink和ffmpeg进行视频下载和格式转换。
- ✅ 支持不同电视剧ID的视频下载
- ✅ 支持单集下载和批量下载
- ✅ 自动创建下载目录,按电视剧名称分类存储
- ✅ 自动获取电视剧名称
- ✅ 支持HLS流媒体下载和MP4格式转换
- ✅ 完善的错误处理和进度提示
- Python 3.7+
- streamlink
- ffmpeg
- requests库
git clone <项目地址>
cd 唐人街视频爬虫代码pip install -r requirements.txt# 安装streamlink
brew install streamlink
# 安装ffmpeg
brew install ffmpeg# 安装streamlink
sudo apt update
sudo apt install streamlink
# 安装ffmpeg
sudo apt install ffmpeg- 从 streamlink官网 下载并安装streamlink
- 从 ffmpeg官网 下载并安装ffmpeg
- 确保streamlink和ffmpeg已添加到系统PATH环境变量
# 检查streamlink
streamlink --version
# 检查ffmpeg
ffmpeg -version
# 检查Python依赖
python -c "import requests; print('requests已安装')"python main.py <电视剧ID> <集数> [结束集数]电视剧ID: 从唐人街影视网站播放页面URL中获取的数字ID集数: 要下载的集数(单集下载)或起始集数(批量下载)结束集数: 批量下载的结束集数(可选)
- 支持四种使用模式:
- python main.py <电视剧ID> <集数> - 单集下载(自动获取剧名)
- python main.py <电视剧ID> <集数> <自定义名称> - 单集下载(自定义名称)
- python main.py <电视剧ID> <起始集> <结束集> - 批量下载(自动获取剧名)
- python main.py <电视剧ID> <起始集> <结束集> <自定义名称> - 批量下载(自定义名称)
- 智能参数识别:通过try-except机制区分批量下载和自定义名称模式
- 打开唐人街影视网站
- 找到要下载的电视剧
- 点击进入播放页面
- 从URL中提取ID,例如:
- URL:
https://www.trjvod.com/index.php/vod/play/id/163720/sid/2/nid/1.html - 电视剧ID:
163720
- URL:
项目根目录/
├── downloads/ # 下载目录
│ ├── 电视剧名称1/
│ │ ├── 电视剧名称1_第1集.mp4
│ │ ├── 电视剧名称1_第2集.mp4
│ │ └── ...
│ └── 电视剧名称2/
│ ├── 电视剧名称2_第1集.mp4
│ └── ...
├── main.py
├── requirements.txt
└── README.md
- 程序会自动获取电视剧名称
- 创建对应的下载目录
- 解析视频流链接
- 使用streamlink下载HLS流
- 使用ffmpeg转换为MP4格式
- 清理临时文件
A: 可能原因:
- 电视剧ID不正确
- 指定的集数不存在
- 网站结构发生变化
- 网络连接问题
A: 请确保已正确安装streamlink并添加到系统PATH
A: 请确保已正确安装ffmpeg并添加到系统PATH
A: 可能原因:
- 网络连接不稳定
- 服务器限速
- 可以尝试在网络较好的时间段下载
唐人街视频爬虫代码/
├── main.py # 主程序文件
├── find_url.py # URL查找调试工具
├── debug.py # 调试工具
├── requirements.txt # Python依赖列表
├── README.md # 项目说明文档
└── downloads/ # 下载目录(自动创建)
- get_m3u8_url(): 解析视频流链接
- download(): 下载单集视频
- download_episodes(): 批量下载视频
- get_drama_name(): 获取电视剧名称
- Python: 主要编程语言
- requests: HTTP请求处理
- streamlink: HLS流媒体下载
- ffmpeg: 视频格式转换
- 正则表达式: 网页内容解析
本项目仅供学习和研究使用。使用本工具时请遵守:
- 相关法律法规
- 网站使用条款
- 版权保护规定
- 个人学习目的使用
欢迎提交Issue和Pull Request来改进项目。
- ✅ 支持不同电视剧ID的下载
- ✅ 添加下载目录管理
- ✅ 自动获取电视剧名称
- ✅ 完善错误处理
- ✅ 添加完整文档
- ✅ 基础下载功能
- ✅ 支持单集和批量下载