作者:日韩潮衣一手临终批发 | 来源:互联网 | 2023-09-08 14:58
实现功能为输入视频av号,完成下载。
随便点击一个视频进入,打开调试器观察。
发现有一个内容较大的fetch文件
打开该网址,会发现视频自动下载到电脑中。可见,可以通过该网址完成bilibili的视频下载。
而该网址,也可在网站的html中找到:
利用正则可将其匹配出来。
r'"url":"http(.+?)","backup_url":.+?'
所以完整的py文件如下:
import requests
import re
aid = input('请输入av号:')
# 获取bilibili视频地址
url = 'https://www.bilibili.com/video/av'+aid
headers = {'Host': 'www.bilibili.com','User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36','Connection': 'keep-alive',}
res = requests.get(url=url, headers=headers).text
# 获取视频的真正地址
vid = re.compile(r'"url":"http(.+?)","backup_url":.+?')
tittle = re.findall(r'', res)[0]
vid_url = 'https'+re.findall(vid, res)[0]
print(tittle, '\n', vid_url)
vid_headers = {'Origin': 'https://www.bilibili.com','Referer': url,'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
}
video = requests.get(url=vid_url, headers=vid_headers).content
# 视频保存在与py文件同级的video文件夹下
with open('./video/'+tittle+'.mp4', 'wb+') as f:f.write(video)
运行结果如下:
视频文件已下载到本地。