📚博客主页:knighthood2001
✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下)
🎃知识星球:【认知up吧|成长|副业】介绍
❤️如遇文章付费,可先看看我公众号中是否发布免费文章❤️
🙏笔者水平有限,欢迎各位大佬指点,相互学习进步!
在之前的文章,我们实现了将指定视频下载下来,并且实现了将下载的视频音频合并成完整视频。
今天我们要实现的将多个指定视频进行下载。
项目架构
运行前,就这三个文件,一个ffmpeg.exe
用来将视频音频进行合并,url.txt
用来存放你要爬取的url
url.txt
中放的url链接如下
运行后会产生两个保存视频的文件夹。
替换不能作为文件名的字符
这里我注意到,有些标题中存在不能作为文件名的字符,因此需要将其替换。这里选择将其替换成空格。
# 定义一个函数,用于替换文件名中的特定字符
def sanitize_filename(filename):
# 使用正则表达式替换文件名中的特定字符
sanitized_filename = re.sub(r'[/\:*?<>|]', ' ', filename)
return sanitized_filename
全部代码
import requests
import re
import json
import os
import subprocess
# 函数:下载并保存视频和音频
def download_video_and_audio(url, headers):
try:
# 发送请求
response = requests.get(url=url, headers=headers)
response.raise_for_status() # 如果响应状态不是200,将抛出异常
html = response.text
# 解析数据:提取视频标题
title = re.findall('title="(.*?)"', html)[0