python之应用:抓取B站网页视频,音频

优采云 发布时间: 2022-05-04 16:04

  python之应用:抓取B站网页视频,音频

  今天刷B站视频的时候感觉讲的不错,想下载保存,而且我只想听音频,以后想听的时候可以随时听,Python可以解决这些问题,在网上搜了一些资料,整理记录如下,亲测可用。

  效果展示如下:

  

  import requestsimport reimport jsonimport ioimport subprocess'''提取视频音频'''def download(httpurl,headers): req=requests.get(httpurl,headers=headers) htmltext=req.text#获取网页所有元素 r=re.findall(r'window.__playinfo__=(.*?)',htmltext)[0]#获取playinfo元素 js=json.loads(r)#str转换为json audiourl=js["data"]["dash"]["audio"][0]["baseUrl"] videourl=js["data"]["dash"]["video"][0]["baseUrl"]<br /> res=requests.get(url=audiourl,headers=headers) with open("音频名字.mp3","wb") as f: f.write(res.content)<br /> res=requests.get(url=videourl,headers=headers) with open("视频名字.mp4","wb") as f: f.write(res.content)<br /><br />headers={ "User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36", "referer": "https://message.bilibili.com/"#这段代码的意思是你从哪儿获得这个网址的(换一句话讲,谁推荐你去访问这个网址的).有了它就能够正常访问.}httpurl = 'https://b23.tv/nh90b8U'download(httpurl,headers)<br />'''音频视频合并'''video_name="视频名字"audio_name='音频名字'print('视频合成开始')# ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental output.mp4COMMAND = f'ffmpeg -i {video_name}.mp4 -i {audio_name}.mp3 -c:v copy -c:a aac -strict experimental output.mp4'subprocess.Popen(COMMAND, shell=True)print('视频合成结束')

  合并视频需要用到FFmpeg工具,使用方法如下:

  1.下载工具,可到官网:下载 FFmpeg。

  

  2.解压文件,不需要安装。

  3.配置环境变量。

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线