标签:
bilibili_video_download是一款非常好用的b站视频爬虫下载工具,可以批量下载BiliBili视频,能够指定网页或者UP主主页进行视频采集,使用起来非常方便,只需要输入网址即可,有需要的用户赶快来下载吧!
软件前言
在正常情况下(不使用其他工具或插件),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的同级目录)
一、下载打开软件,使用B站手机客户端代码注册。
二、用户可以自己复制链接,查找某个上传的视频,大量下载。也可以直接搜索。
三、输入要看的视频的名称,选择分区单击并查找资源。
四、检查要下载的视频,用右键下载。
目前功能
番剧下载(Web|TV)。
普通内容下载(Web|TV) (TV接口可以下载部分UP主的无水印内容)。
多分P自动下载。
选择指定分P进行下载。
选择指定清晰度进行下载。
下载外挂字幕并转换为srt格式。
自动合并音频+视频流+字幕流。
二维码登录账号。
厂商名称:
迅雷11正式版客户端160.8M7426人在玩下载工具哪个好?90%的人会说迅雷,不但速度快,而已已成了习惯,迅雷11是一款常用的高速P2P下载软件。在支持高速下载的同时,还有断点续传等功能,是上网下载的好帮手。
下载迅雷X4.1M1001人在玩迅雷X也就是迅雷最新的第十代产品,本次迅雷团队迭代了三个版本,打造了这个全新的个性化智能下载工具,本次迅雷X更新版本从界面、框架、选项设置、下载引擎等进行全面升级,界面简约,更加专注下载。
下载迅雷9官方下载最新版88M980人在玩迅雷是一款非常好用的网络下载工具,后台资源的丰富,稳定的下载通道,流畅的下载速度都让很多网友为之感叹,无愧于现今中国第一的网络下载工具,今天小编为大家准备的2017迅雷9最新版,更是精益求精,再此优化下载通道,让下载和浏览器更契合更稳定,避免出现下载BUG,喜欢的朋友赶快使用吧!
下载迅雷9公测版下载40.2M391人在玩迅雷9公测版下载是迅雷公司最新推出的迅雷下载软件,时隔数年,终于推出新版的迅雷,界面大变样,更带来新的下载引擎。喜欢尝鲜的快来下载吧!
下载BitComet(比特彗星)下载25.5M979人在玩bitcomet是基于bittorrent协议的p2p文件分享免费软件,支持多任务下载,文件有选择的下载;磁盘缓存,减小对硬盘的损伤;只需一个监听端口,方便手工防火墙和nat/router配置;在windowsxp下能自动配置支持upnp的nat和xp防火墙,续传做种免扫描,速度限制等多项实用功能,以及自然方便的使用界面。
下载太乐地图下载器129.2M138人在玩太乐地图下载器支持谷歌、天地图、百度、诺基亚、搜搜、ArcGIS伀渀氀椀渀攀、高德、超图云服务、必应、雅虎的街道地图、卫星地图(卫片)、标签/卫星混合地图、地表地形图的高速下载、无缝拼接、分块拼接、无损压缩、投影转换、离线浏览和地图服务发布(WMTS\WMS)
下载EagleGet(猎鹰)7.9M946人在玩eagleget怎么用,EagleGet是一款清爽全能的下载工具。让你的下载速度加快达6倍,支持多个视频网站的在线视频下载,完美免费,界面简洁,而且没有讨厌的广告,支持HTTP、HTTPS、FTP、MMS、RTSP等下载协议。
下载迅雷u享版27.1M323人在玩迅雷u享版,专为会员打造的下载神器。使用迅雷U享版,可以更为智能、更为快速的下载资源,并且享受无广告的特权,让下载变得更加清爽。
下载Youtube Video Downloader4.9M228人在玩YouTubeVideoDownloader是一款windows平台下的易用而且完全免费的下载工具,专门用于新一代的网络(web2.0)下载,例如从YouTube,Todou的网站下载Window7下最顶尖的下载工具最大可能的下载速度,是最快的下载工具可以轻松地从YouTube,Todou等网站下载相关的音
下载qbittorrent增强版28.0M108人在玩qBittorrent是一款开源的轻量级的BitTorrent客户端,自动过滤器基于UPnP/NAT-PMP端口映射,采用Vuze兼容协议加密,可运行于Linux、windows及其他可能系统,被视为替代其他BitTorrent软件的一个理想选择。
下载