目录
(2)导入模块:from moviepy.editer import *
抓取不同网页的视频,要通过一定的分析,有些视频的响应里包含了音频视频,但是有些视频的响应是音视频分开,需要自己去分析,将音频和视频的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') # 输出新的视频文件