【Python网络蜘蛛 · 8】:moviepy模块实现音频+视频的合成

目录

1、随意搜索一个视频,进行抓包

2、获取第一个疑似音频或视频的包

示例代码如下:

3、抓取视频文件

 代码如下:

4、视频合成

(1)下载模块:pip install moviepy

(2)导入模块:from moviepy.editer import *

(3)具体实现


抓取不同网页的视频,要通过一定的分析,有些视频的响应里包含了音频视频,但是有些视频的响应是音视频分开,需要自己去分析,将音频和视频的url找到,然后抓取下来,再组合,合成一个完整的视频。

1、随意搜索一个视频,进行抓包

在抓包时应先清空所有包,然后再打开视频,这时会出现一些包,暂定视频,分析包数据。

分析响应的时候应注意一般视频和音频的后缀都有MP4或MP3,所以音频或视频的响应中可能包含有关疑似MP4或MP3的字眼。

以下是我们找到的可能是音频或视频的包,先将此包抓取下来再判断。

2、获取第一个疑似音频或视频的包

示例代码如下:

import requests
url = ''
headers = {
    'User-Agent': '', # 使用自己的User-Agent
    'Referer': ''
}

res = requests.get(url, headers=headers)
with open('F:/视频.mp3', 'wb') as f:
    f.write(res.content)
print('视频.mp3保存成功')

抓取成功后点击打开,如果有声音则获取的是音频,如果打不开或没有声音则可能是视频文件,需要把视频.mp3改成视频.mp4,下载好后打开判断。

通过打开判断,获取到的是音频文件。

3、抓取视频文件

 代码如下:

import requests
url = ''
headers = {
    'User-Agent': '', # 使用自己的User-Agent
    'Referer': ''
}

res = requests.get(url, headers=headers)
with open('F:/视频.mp4', 'wb') as f:
    f.write(res.content)
print('视频.mp4保存成功')

下载成功后打开判断,它是一个视频文件,没有声音,这时我们需要通过视频合成的操作,获得一个完整的视频。

4、视频合成

(1)下载模块:pip install moviepy

(2)导入模块:from moviepy.editer import *

(3)具体实现

from moviepy.editor import *

# 获取下载好的音频和视频文件
ad = AudioFileClip('F:/视频.mp3')
vd = VideoFileClip('F:/视频.mp4')

vd2 = vd.set_audio(ad) # 将提取到的音频和视频文件进行合成
vd2.write_videofile('F:/合成视频.mp4') # 输出新的视频文件

你可能感兴趣的:(Python网络蜘蛛,python,学习,音视频)