抓取一部视频

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

posted @ 2022-11-15 17:18  伴你如风  阅读(40)  评论(0编辑  收藏  举报