1 20 50 150 500
欢迎来到瑞博软件站,找素材,搜软件,就上瑞博软件站!
当前位置 >首页 >软件下载 >电脑软件 >网络工具 >下载工具

bilibili_video_download.exe 绿色python版

软件信息
  • 分类:下载工具
  • 大小:93.8M
  • 语言: 中文
  • 环境: WinAll
  • 更新:2024-07-01
  • 评级:
  • 系统: Windows Linux Mac Ubuntu
  • 软件类别: 国产软件 / 免费软件 / 下载工具
  • 插件情况:

bilibili_video_download.exe是一款Python编写做成的可以批量下载BiliBili视频的下载器软件,导入的库包括用于爬取和解析网页的库,还包括创建线程池的库和进行其他处理的库,大多数都是Python自带的。

软件说明

软件前言

在正常情况下(不使用其他工具或插件),Web端的bilibili似乎无法(彻底白嫖)下载视频,遂学习了如何利用Python爬虫下载b站视频(不包括会员视频),详情(手法)且看下文。

参考视频:https://www.bilibili.com/video/BV1Fy4y1D7XS

在分析b站网页源代码的过程中发现其视频和音频是分开的,下载后一个只有声音,一个只有画面,这显然不能满足我们的要求。解决方案是:利用 ffmpeg 这款强大的开源工具把下载后的音视频进行合并。故想要完美体验,先得下载安装并配置好 ffmpeg 。(到官网下载,解压后把文件夹内的bin 添加到环境变量)

Python中使用到的模块有:requests、re、json、subprocess、os

准备工作

视频的url比较显眼,容易获取。headers也好找,但还需要一重要信息。

通过浏览器(F12)查看分析目标网页,找到我们的下一目标,即视(音)频下载链接。

一番查找后,发现在head里的第四个script 标签内似乎有我们想要的东西。

可访问此链接,却出现403,即没有权限访问此站。

这又怎么回事?查看Request Headers 信息,发现没有referer这一项,于是尝试在数据包中加上referer信息看能否访问。(这里直接上bp了)

Forward后,出现文件下载页面。

下载后打开改文件,确为目标视频。

获取数据

通过requests库向目标站点发起请求,请求需包含header、referer等信息,以伪装成是浏览器发出请求。如果服务器能正常响应,会得到一个Response,便是所要获取的页面内容。

测试代码:

运行结果:

解析内容

得到的内容可能是HTML、json等格式,可以用页面解析库、正则表达式等进行解析。

title信息比较好找,就在head中。

利用正则表达式对其进行提取。

复制代码 隐藏代码 title = re.findall('<title data-vue-meta="true">(.*?)</title>',html_data)[0].replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili",""

音视频下载链接在json数据中。

利用正则表达式和字典(列表)的“键”对其提取。

测试代码:

运行结果:

保存数据

通过下载链接,将音视频下载到本地并保存。

测试代码:

运行结果:

合并音视频

把分开的音频和视频进行合并。(几次测试下来,发现如果用视频标题作为文件名去执行ffmpeg命令会导致其出现错误,暂时没找到解决方法,后来试着将文件名先重命名为1.mp3、1.mp4这种简单的名字,可以完成合并,再删除之)

测试代码:

运行结果:

合并后视频正常播放,有声有色。

最终代码

效果:

打包成exe

首先我们要先安装Pyinstaller,直接在cmd使用pip命令

然后,把ffmpeg和py文件放置到同一文件夹下。

因为ffmpeg是要一起打包的,需要对代码中的相应目录做小幅修改。修改后的代码如下:

修改好后,cmd切换到我们刚刚放文件的目录,执行如下命令:

(这里-i bilibili.ico是对程序的图标进行设置,为可选项)

执行完毕会发现当前目录多了几个文件夹,打开其中名为dist的文件夹,里面生成了一个名为bilibili_video_download的exe应用程序,并且图标也是我们设置的图案。(这里要把exe文件移动到上一级目录,即ffmpeg的同级目录)

使用说明

点击运行exe应用程序,输入视频URL即可下载。

下载完毕!

下载地址

热门软件

Top