import requests
import os
import re
import subprocess
url=‘https://search.bilibili.com/all?keyword=%E5%8F%AF%E8%83%BD%20%E7%A8%8B%E5%93%8D%20%E5%AE%8C%E6%95%B4%E7%89%88&from_source=webtop_search&spm_id_from=333.1007&search_source=2’
headers = {
‘user-agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0’,
‘referer’: ‘https://space.bilibili.com/3493140394674396’
}
response = requests.get(url=url, headers=headers).text
#print(response)
if not os.path.exists(‘./mv1’):
os.mkdir(‘./mv1’)
txt=re.findall(r’bvid:.*?“,',response)
#print(txt)
for i in txt:
# i = re.sub(r’bvid:”‘, ‘’, i)
i=i.replace(‘bvid:"’, ‘’).replace(’",', ‘’)
#print(i)
video_url = 'https://www.bilibili.com/video/' + i + '/?spm_id_from=333.999.0.0'
def download_bilibili_video(video_url):
try:
# 使用you-get下载视频,-o指定输出目录(这里是当前目录)
subprocess.run(['you-get', '-o', './mv1', video_url], check=True) # 修改输出目录为./mv,更符合前面创建目录的意图
print("视频下载成功!")
except subprocess.CalledProcessError as e:
print("下载过程中出现错误:", e)
if __name__ == "__main__":
download_bilibili_video(video_url)