-
2020-05-18 00:28:01
b站详情视频下载
经过测试,理论上所有视频都可以下载,付费的视频需要登录之后,带上cookie信息,就可以下载了,
1、环境
1.1Python 运行环境
1.2FFmpeg 合并视频和音频
2、代码
清单文件
requests==2.21.0 lxml==4.3.0
from lxml import etree import requests import subprocess import json import re import os class BiBiSpider: def __init__(self): self.headers = { 'Referer': 'https://www.bilibili.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36', "cookie": "_uuid=B75117CA-056D-136C-81C4-27DB1D06377A30553infoc; buvid3=3E3696DA-F5F3-4F55-A6AB-F0428459B3D9155836infoc; CURRENT_FNVAL=16; LIVE_BUVID=AUTO6415809639729886; rpdid=|(k|~u|YY)R)0J'ul)|mYJm)~; CURRENT_QUALITY=80; _ga=GA1.2.1444362150.1589713917; bsource=seo_baidu; sid=jceqdrok; PVID=1; DedeUserID=318464066; DedeUserID__ckMd5=2d1368bb369e1d79; SESSDATA=6c514b9f%2C1605405848%2C76c7d*51; bili_jct=208edda9bf1d5248ec6035c44959ec0e", } self.video_dirs = 'video' def download_file(self, file_path, download_url): print('*' * 100) print(f"保存路径:{file_path}") print(f'下载URL:{download_url}') response = requests.get(url=download_url, headers=self.headers, stream=True) content_size = int(response.headers["content-length"]) # 视频内容的总大小 size = 0 with open(file_path, "wb") as file: # 非纯文本都以字节的方式写入 for data in response.iter_content(chunk_size=1024): # 循环写入 file.write(data) # 写入视频文件 file.flush() # 刷新缓存 size += len(data) # 叠加每次写入的大小 # 打印下载进度 print("\r文件下载进度:%d%%(%0.2fMB/%0.2fMB)" % ( float(size / content_size * 100), (size / 1024 / 1024), (content_size / 1024 / 1024)), end=" ") print() def get_response(self, url): response = None try: response = requests.get(url, headers=self.headers) except Exception as e: print(e) return response def parse_detail(self, url): response = self.get_response(url) if not response: return html = response.text document = etree.HTML(html) title = ''.join(document.xpath('//*[@class="video-title"]/@title')) if not title: title = ''.join(document.xpath('//*[@class="media-wrapper"]/h1/@title')) title = re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u005a\u0061-\u007a])", "-", title) pattern = r'\<script\>window\.__playinfo__=(.*?)\</script\>' result = re.findall(pattern, html) if len(result) < 1: return None result = result[0] data = json.loads(result) durl_list = data['data'].get('durl') if durl_list: for durl in durl_list: url = durl['url'] file_path = 'video/1.mp4' self.download_file(file_path, url) else: merge_path = f'{self.video_dirs}/{title}.mp4' video_url = data['data']['dash']['video'][0]['baseUrl'] video_path = f'{self.video_dirs}/{title}.m4s' self.download_file(video_path, video_url) audio_url = data['data']['dash']['audio'][0]['baseUrl'] audio_path = f'{self.video_dirs}/{title}.mp3' self.download_file(audio_path, audio_url) self.merge_video_and_audio(video_path, audio_path, merge_path) def merge_video_and_audio(self, video_path, audio_path, merge_path): cmd = f'ffmpeg -i {video_path} -i {audio_path} -vcodec copy -acodec copy {merge_path}' subprocess.call(cmd, shell=True) print(merge_path, '合并完成') os.remove(video_path) os.remove(audio_path) def start_requests(self): url = 'https://www.bilibili.com/bangumi/play/ep306470' self.parse_detail(url) def run(self): self.start_requests() if __name__ == '__main__': BiBiSpider().run()
更多相关内容 -
哔哩哔哩视频下载器工具
2021-03-10 17:28:59哔哩哔哩视频下载器工具,可批量下载 -
哔哩哔哩视频下载工具
2018-09-02 14:14:29哔哩哔哩视频下载工具 -
哔哩哔哩视频下载器
2018-06-28 10:54:30这是一个哔哩哔哩网站视频的下载器,搬运过来的。有需要的可以下载。 -
哔哩哔哩视频下载神器bilidown.zip
2019-12-20 10:21:05把鼠标定位到浏览器的地址栏中,在网址的 bilibili 前面加上“i”,按下回车键进行跳转,在新页面中,视频右下角的有一个下载图标 -
哔哩哔哩视频解析下载器Linux版
2021-07-30 15:27:45通过命令行的方式下载哔哩哔哩视频,可二次编程,输入命令可查看使用方法 -
b站哔哩哔哩视频下载(支持av、ep类型)
2018-10-28 08:30:05此软件为jar格式的GUI, 需要java运行环境jre 。 GUI类型的B站视频下载器, 同时也支持知乎视频下载,完整教程见: https://github.com/asche910/VideoHelper ,有多种下载方式,另外欢迎star -
哔哩哔哩视频下载软件以及python源码(B站)
2019-09-10 17:58:16小程序可下载不同清晰度的哔哩哔哩短视频。 适合新手小白爬取b站心爱up主视频。 使用方法极其简单:解压后进入dist文件夹,双击shishi.exe文件,即可运行程序。 下载方法:输入网址->按照提示选择清晰度(默认标清)... -
哔哩哔哩视频下载助手
2020-06-23 10:32:591、下载安装文件 拉到最下面 2、打开浏览器扩展安装页面 点击浏览器右上角:更多工具>点击扩展程序 3、安装插件 在扩展中心打开右上角的 【开发者模式】按钮,然后【刷新】页面,把下载好的 .crx 文件拖入扩展...1、下载安装文件
拉到最下面
2、打开浏览器扩展安装页面
点击浏览器右上角:更多工具>点击扩展程序
3、安装插件
在扩展中心打开右上角的 【开发者模式】按钮,然后【刷新】页面,把下载好的 .crx 文件拖入扩展中心
完成:
文章来源:https://pictureknow.com/download -
BilibiliDown:(GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|...
2021-05-12 13:27:51Bilibili 视频下载器,用于下载B站视频。 以下多图警告 :grinning_face_with_smiling_eyes:特性 支持UI界面(自认为是傻瓜式操作) 支持扫码/密码登录(能看=能下,反过来也一样) 支持各种链接解析(直接输入BVXXX/... -
【下载工具】哔哩哔哩视频下载器——(Downkyi)下载姬v1.3.3
2021-03-01 23:18:28哔哩下载姬(downkyi)是一个简单易用的哔哩哔哩视频下载工具,具有简洁的界面,流畅的操作逻辑。哔哩下载姬可以下载几乎所有的B站视频,并输出mp4格式的文件;采用Aria下载器多线程下载,采用FFmpeg对视频进行混流...前言
因为在哔哩哔哩上下载一些vue前端教程,找到一个特别好用的工具,给大家分享一下。
资源预览
哔哩下载姬(downkyi)是一个简单易用的哔哩哔哩视频下载工具,具有简洁的界面,流畅的操作逻辑。哔哩下载姬可以下载几乎所有的B站视频,并输出mp4格式的文件;采用Aria下载器多线程下载,采用FFmpeg对视频进行混流、提取音视频等操作。
软件功能
支持二维码登录
支持4K下载
支持视频、番剧、剧集、电影、课程下载
支持用户收藏夹、订阅、稍后再看、历史记录下载
支持港澳台番剧下载,解除地区限制
支持封面下载
支持断点续传
支持Aria2c
支持下载历史记录保存
支持av、BV互转
支持弹幕发送者查询
支持音视频分离
支持去水印
支持检查更新使用方法
环境
要求.NETFramework>=4.7.2
安装.NETFramework4.7.2
.NETFramework4.7.2在线安装程序
.NETFramework4.7.2离线安装程序
也可以安装.NETFramework4.8
检索
哔哩下载姬支持多种复制于浏览器或APP的网址格式,在程序主页输入并按回车键即可开始检索。
视频详情页中,先选中视频再下载,如果该视频已经在下载队列或者已下载列表中,则不会被添加。
用户收藏夹、订阅、稍后再看、历史记录中,点击下载后,会默认下载选中视频的所有分P。
目前已支持的有:
av号:av170001,https://www.bilibili.com/video/av170001
BV号:BV17x411w7KC,https://www.bilibili.com/video/BV17x411w7KC
番剧(电影、电视剧)ss号:https://www.bilibili.com/bangumi/play/ss32982
番剧(电影、电视剧)ep号:https://www.bilibili.com/bangumi/play/ep317925
番剧(电影、电视剧)md号:https://www.bilibili.com/bangumi/media/md28228367
课程ss号:https://www.bilibili.com/cheese/play/ss205
课程ep号:https://www.bilibili.com/cheese/play/ep3489
用户空间:uid928123,UID:928123,https://space.bilibili.com/928123注:因为番剧和课程都有ss号和ep号,因此暂时不能直接输入ss号和ep号。
软件获取
-
bilibili-downloader:哔哩哔哩视频下载器 | Yet another video downloader for Bilibili
2021-04-28 14:05:23基于 Node.js 和 Electron 开发的 Bilibili 视频、弹幕下载器。 功能 目前实现的功能: 根据视频地址查询 aid 和 cid 以及视频详细信息 根据视频 cid 获取视频和弹幕文件的下载地址 下载视频(.flv 或 .mp4)和弹幕... -
python+request 哔哩哔哩视频下载
2019-01-15 09:17:23可见,可以通过该网址完成bilibili的视频下载。 而该网址,也可在网站的html中找到: 利用正则可将其匹配出来。 r'"url":"http(.+?)","backup_url":.+?' 所以完整的py文件如下: ...实现功能为输入视频av号,完成下载。
随便点击一个视频进入,打开调试器观察。
发现有一个内容较大的fetch文件
打开该网址,会发现视频自动下载到电脑中。可见,可以通过该网址完成bilibili的视频下载。
而该网址,也可在网站的html中找到:
利用正则可将其匹配出来。
r'"url":"http(.+?)","backup_url":.+?'
所以完整的py文件如下:
import requests import re aid = input('请输入av号:') # 获取bilibili视频地址 url = 'https://www.bilibili.com/video/av'+aid headers = {'Host': 'www.bilibili.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Connection': 'keep-alive', } res = requests.get(url=url, headers=headers).text # 获取视频的真正地址 vid = re.compile(r'"url":"http(.+?)","backup_url":.+?') tittle = re.findall(r'<h1 title="(.+?)".*?>', res)[0] vid_url = 'https'+re.findall(vid, res)[0] print(tittle, '\n', vid_url) vid_headers = { 'Origin': 'https://www.bilibili.com', 'Referer': url, 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', } video = requests.get(url=vid_url, headers=vid_headers).content # 视频保存在与py文件同级的video文件夹下 with open('./video/'+tittle+'.mp4', 'wb+') as f: f.write(video)
运行结果如下:
视频文件已下载到本地。
-
Chrome浏览器扩展:bilibili哔哩哔哩视频下载助手 2.1.5_0
2020-12-04 17:35:45Chrome浏览器扩展:bilibili哔哩哔哩视频下载助手 2.1.5_0,bilibili 哔哩哔哩 B站 下载助手 帮你下载(能看不能缓存)的 番剧 视频。 使用方法很简单,打开b站视频后自动在底部弹出窗口,点击立即下载就可以了。... -
哔哩哔哩视频下载到电脑,bilibili UWP下载的视频重命名,blibli视频下载到电脑...
2021-04-02 17:17:04哔哩哔哩视频下载,哔哩哔哩动画下载,blibli视频下载到电脑 哔哩哔哩视频重命名 bilibili UWP客户端下载的视频重命名 ================================ ©Copyright 蕃薯耀2021-02-26 ...哔哩哔哩视频下载需要使用... -
Mac版哔哩哔哩视频下载工具
2021-09-10 09:48:13BilibiliVideoDownload Mac是一款开源的哔哩哔哩视频下载工具,b站视频下载软件 mac能够快速为您下载Bilibili的视频!哔哩哔哩视频下载软件在您选择下载视频时会提示登录,登录后可以获取你的SESSDATA来用做下载,... -
B站哔哩哔哩视频一键下载,这个视频下载工具太给力了
2021-05-28 21:07:07今天给大家分享一款哔哩哔哩也就是B站的视频下载工具,非常好用,超级简单!可以让你一键下载网站里的视频 下载地址: https://shejiruanjianku.lanzoui.com/iwRzBpk9iah 安装后怎么使用? 1、 打开B站视频的播放... -
IDM下载哔哩哔哩视频MP4格式
2021-07-25 13:02:13IBM下载哔哩哔哩视频MP4格式 1、输入哔哩哔哩视频网址 2、拷贝解析网址 3、打开IDM新建任务 4、下载(一般会自动填入剪切板里的刚刚复制的地址) -
b站bilibili哔哩哔哩视频下载到本地的一种方法,不好使你打我
2020-07-24 21:14:18网上看了很多什么kanbilibili,bilibilijj乱七八糟的加前后缀的方法,不知道你们行不行,反正我是不行,找了好久找到了个网站(不是打广告,纯粹觉得好用分享一下): 贝贝 目前(2020-07-24)稳定奔放 ... -
Python 下载哔哩哔哩视频
2020-02-16 17:58:39Python 下载哔哩哔哩视频 源码见Github 链接 欢迎留言讨论 说明 支持按 Up 下载和按 av 号下载 例子 要下载凉风所有阅片无数的视频 # up id,比如凉风 14110780 UP_ID = 14110780 # 关键词,如 KEYWORD = '阅片... -
电脑端哔哩哔哩视频下载
2020-12-13 15:06:53在.com 前加jj 例如:https://www.bilibili.com/video/BV12E411A7ZQ?from=search&seid=14254553540760518275只需要在***bilibili.com***.com 前加jj变成 ...seid=14254553540760518275就可以了。 ... -
哔哩哔哩电脑下载视频有用.zip
2020-04-12 23:57:51blilidown,给b站电脑上下载视频用的软件。 -
PC端哔哩哔哩动画下载的本地视频无法打开
2022-04-08 10:57:03PC端哔哩哔哩动画下载的本地视频无法打开 -
一行脚本批量下载哔哩哔哩视频
2019-07-27 20:23:56比如下载https://www.bilibili.com/video/av33087749/?p=的1到3集。 for i in $(seq 1 3);... done 条件:先安装you-get。我这是mac的bash ...最近在哔哩哔哩上看视频,想下载下来。网上搜索了... -
(零基础)如何使用python下载哔哩哔哩视频?
2021-02-24 12:04:02(零基础)如何使用python下载哔哩哔哩视频? 问题分析 在哔哩哔哩网站上没有下载功能,但是我们常常因为喜欢某个视频或者害怕它下架而想要将它下载下来。这里提供一个使用python下载视频的方法。对于这个方法,你不... -
如何在线下载哔哩哔哩上的视频
2020-07-15 00:32:53坐高铁或者火车卧铺时,信号难免会差,因此就想看...2、复制你想下载的哔哩哔哩视频的网址 3、 粘贴到解析密码框中,并点击解析视频 4、往下滚动页面,先点击播放按钮,播放1s以上就行 5、在播放视频... -