1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | # 话不多说,直接上源码<br>import urllib, requests import urllib.request as req import re import json import subprocess headers = { 'user-agent' : 'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36' , 'referer' : 'https://www.bilibili.com/' } video_path = './video/' movie_path = './movie/' def get_html_data(url_path): data_html = requests.get(url_path, headers = headers, proxies = proxies).text return data_html def get_download_url(): url = 'https://www.bilibili.com/video/av288087621/' data_html = get_html_data(url) title = re.findall( '<span class="tit">(.*?)</span>' , data_html)[ 0 ] json_data = re.findall( '<script>window\.__playinfo__=(.*?)</script>' , data_html)[ 0 ] json_data = json.loads(json_data) video_url = json_data[ 'data' ][ 'dash' ][ 'audio' ][ 0 ][ 'backupUrl' ][ 0 ] movie_url = json_data[ 'data' ][ 'dash' ][ 'video' ][ 0 ][ 'backupUrl' ][ 0 ] download_data(title, video_url, movie_url) def download_data(title, video_url, movie_url): # 下载音频数据 video_data = requests.get(video_url, headers = headers, proxies = proxies).content # 下载视频数据 movie_data = requests.get(movie_url, headers = headers, proxies = proxies).content local_save_data(title, video_data, movie_data) def local_save_data(title, video_data, movie_data): # 保存音频数据 with open (video_path + title + '.mp3' , 'wb' ) as w: w.write(video_data) # 保存视频数据 with open (movie_path + title + '.mp4' , 'wb' ) as w: w.write(movie_data) merge_data(title) def merge_data(title): print ( "视频合成开始:%s" % title) COMMAND = f "ffmpeg -i {movie_path + title}.mp4 -i {video_path + title}.mp3 -c:v copy -c:a aac -strict experimental {movie_path}output.mp4" subprocess.Popen(COMMAND, shell = True ) print ( "视频合成结束:%s" % title) if __name__ = = '__main__' : get_download_url() |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步