Skip to content

asmoyou/Crawler-Example-Chinatown-Cinema

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

唐人街影视网站电视剧下载工具

项目简介

本项目是一个基于教学目的的唐人街影视网站电视剧下载工具,支持下载指定电视剧的单集或批量下载多集视频。该工具通过解析网站的HLS流媒体链接,使用streamlink和ffmpeg进行视频下载和格式转换。

⚠️ 重要声明:本工具仅供学习和研究使用,请遵守相关法律法规和网站使用条款。

功能特性

  • ✅ 支持不同电视剧ID的视频下载
  • ✅ 支持单集下载和批量下载
  • ✅ 自动创建下载目录,按电视剧名称分类存储
  • ✅ 自动获取电视剧名称
  • ✅ 支持HLS流媒体下载和MP4格式转换
  • ✅ 完善的错误处理和进度提示

系统要求

  • Python 3.7+
  • streamlink
  • ffmpeg
  • requests库

安装说明

1. 克隆项目

git clone <项目地址>
cd 唐人街视频爬虫代码

2. 安装Python依赖

pip install -r requirements.txt

3. 安装系统依赖

macOS

# 安装streamlink
brew install streamlink

# 安装ffmpeg
brew install ffmpeg

Ubuntu/Debian

# 安装streamlink
sudo apt update
sudo apt install streamlink

# 安装ffmpeg
sudo apt install ffmpeg

Windows

  1. streamlink官网 下载并安装streamlink
  2. ffmpeg官网 下载并安装ffmpeg
  3. 确保streamlink和ffmpeg已添加到系统PATH环境变量

4. 验证安装

# 检查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机制区分批量下载和自定义名称模式

如何获取电视剧ID

  1. 打开唐人街影视网站
  2. 找到要下载的电视剧
  3. 点击进入播放页面
  4. 从URL中提取ID,例如:
    • URL: https://www.trjvod.com/index.php/vod/play/id/163720/sid/2/nid/1.html
    • 电视剧ID: 163720

输出说明

下载目录结构

项目根目录/
├── downloads/              # 下载目录
│   ├── 电视剧名称1/
│   │   ├── 电视剧名称1_第1集.mp4
│   │   ├── 电视剧名称1_第2集.mp4
│   │   └── ...
│   └── 电视剧名称2/
│       ├── 电视剧名称2_第1集.mp4
│       └── ...
├── main.py
├── requirements.txt
└── README.md

下载过程

  1. 程序会自动获取电视剧名称
  2. 创建对应的下载目录
  3. 解析视频流链接
  4. 使用streamlink下载HLS流
  5. 使用ffmpeg转换为MP4格式
  6. 清理临时文件

常见问题

Q: 下载失败,提示"未解析到 m3u8"

A: 可能原因:

  • 电视剧ID不正确
  • 指定的集数不存在
  • 网站结构发生变化
  • 网络连接问题

Q: 提示"streamlink命令未找到"

A: 请确保已正确安装streamlink并添加到系统PATH

Q: 提示"ffmpeg命令未找到"

A: 请确保已正确安装ffmpeg并添加到系统PATH

Q: 下载速度很慢

A: 可能原因:

  • 网络连接不稳定
  • 服务器限速
  • 可以尝试在网络较好的时间段下载

项目结构

唐人街视频爬虫代码/
├── main.py              # 主程序文件
├── find_url.py          # URL查找调试工具
├── debug.py             # 调试工具
├── requirements.txt     # Python依赖列表
├── README.md           # 项目说明文档
└── downloads/          # 下载目录(自动创建)

开发说明

核心功能模块

  1. get_m3u8_url(): 解析视频流链接
  2. download(): 下载单集视频
  3. download_episodes(): 批量下载视频
  4. get_drama_name(): 获取电视剧名称

技术栈

  • Python: 主要编程语言
  • requests: HTTP请求处理
  • streamlink: HLS流媒体下载
  • ffmpeg: 视频格式转换
  • 正则表达式: 网页内容解析

许可证

本项目仅供学习和研究使用。使用本工具时请遵守:

  1. 相关法律法规
  2. 网站使用条款
  3. 版权保护规定
  4. 个人学习目的使用

贡献

欢迎提交Issue和Pull Request来改进项目。

更新日志

v0.2.0

  • ✅ 支持不同电视剧ID的下载
  • ✅ 添加下载目录管理
  • ✅ 自动获取电视剧名称
  • ✅ 完善错误处理
  • ✅ 添加完整文档

v0.1.0

  • ✅ 基础下载功能
  • ✅ 支持单集和批量下载

About

爬虫学习实例 目标对象:唐人街影院 https://www.trjvod.com/

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages