bilibili_video_download这是一款非常好用的B站视频爬虫下载工具,可以批量下载BiliBili视频,并指定一个网站或UP主首页进行视频抓取。"有需要的用户可以快速下载 对!
软件前言
在正常情况下(不使用任何其他工具或插件),bilibili网站上似乎无法下载视频(完全免费)。因此,我学会了如何使用python爬虫从b站下载视频(无会员)视频),详情(技术)见下文。
参考视频: https://www.bilibili.com/video/BV1Fy4y1D7XS
在分析b站网站的源代码时,发现视频和音频是分开的。下载后,一个只有音频,另一个只有图像,这显然不符合我们的要求。解决办法是使用ffmpeg,一个强大的开源工具,来合并下载的音频和视频文件。因此,如果你想要一个完美的体验,你需要先下载、安装和配置ffmpeg。从官方网站下载,解压后将容器添加到文件夹的环境变量中)。
Python中使用的模块有:request、re、json、subprocess、os。
准备工作
视频的URL更引人注目,更容易得到。标题也很容易找到,但需要重要的信息。
通过浏览器(F12)指向并解析目标网站,找到我们的下一个目标,也就是视频(音频)下载链接。
经过搜索,我发现头部的第四个脚本标签似乎有我们想要的东西。
可以访问这个链接,但出现403,意思是没有权限访问这个页面。
这里发生了什么事?检查请求头信息,发现没有推荐人。因此,我正试图在数据包中添加引用者信息,以查看是否能被访问。(这里直接是BP的内容)
重定向后,你会看到文件下载页面。
下载后,打开修改后的文件,确实是目标视频。
检索数据
使用请求库向目标网站发起请求。该请求必须包括标头、推荐人和其他信息,以假装是一个浏览器发出的请求。如果服务器能够正常响应,它将收到一个代表要检索的页面内容的响应。
测试代码。
运行结果。
解析内容。
收到的内容可能是HTML、JSON和其他格式,可以使用页面分析库、正则表达式等进行解析。
标题信息更容易找到,只是在脑子里。
使用正则表达式来提取它。
复制代码 隐藏代码 title = re.findall ('', 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的同级目录)
一、下载打开软件,使用B站手机客户端代码注册。
二、用户可以自己复制链接,查找某个上传的视频,大量下载。也可以直接搜索。
三、输入要看的视频的名称,选择分区单击并查找资源。
四、检查要下载的视频,用右键下载。
目前功能
番剧下载(Web|TV)。
普通内容下载(Web|TV) (TV接口可以下载部分UP主的无水印内容)。
多分P自动下载。
选择指定分P进行下载。
选择指定清晰度进行下载。
下载外挂字幕并转换为srt格式。
自动合并音频+视频流+字幕流。
二维码登录账号。
以上就是今天小编带给大家的实用的软件啦,更多好用的软件会在微侠网后续推出,期待小伙伴们的关注哦~
450KB/中文
详情
449KB/中文
详情
8.1M/中文
详情
8.3M/中文
详情
49M/中文
详情
10.2M/中文
详情
24.1M/中文
详情2.0M/中文
详情9.8M/中文
详情35.4M/中文
详情4.2M/中文
详情1.3M/中文
详情9.9M/中文
详情10.1M/中文
详情24.1M/中文
详情113KB/中文
详情1.3M/中文
详情1.3M/中文
详情