1. 抓取一部视频的理论
# <video src="汤姆.mp4"></video>
# 一般的视频网站是怎样做的?
# 用户上传 -> 转码(把视频做处理 4k, 1080p, 标清)-> 切片处理(把单个文件进行拆分)
# 用户在拉动进度条的时候
# ===========================
# 需要一个文件纪录 1. 视频播放顺序。 2. 视频存放路径
# M3U txt json => 文本
# 想要抓取一部视频
# 1. 找到M3U8文件(各种手段)
# 2. 通过M3U8文件下载ts
# 3. 可以通过各种手段(不仅是编程手段),把ts文件合并成为一个mp4文件
2. 爬取一部视频(练练手)
"""
老一点的网站(刷新半天都不出开的网站)
流程:
1. 先获取到 45465.html 文件
2. 从html文件中 提取 m3u8
3. 下载 m3u8
4. 读取 m3u8 文件, 下载视频
5. 合并视频
"""
import requests
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36"
}
# 先要获取到 m3u8 文件(有了这个文件才能执行后面的步骤)
# 2. 解析 m3u8 文件
n = 1
with open('哲仁王后.m3u8', mode='r', encoding='utf-8') as f:
for line in f:
line = line.strip() # 先去掉空格、换行符、空白
if line.startswith("#"): # 如果这一行是以 # 开头, 我不要
continue
print(line)
# 下载视频片段
resp2 = requests.get(line)
f = open(f"video/{n}.ts", mode='wb')
f.write(resp2.content)
f.close()
resp2.close()
print(f'完成了{n}个')
n += 1