如何用you-get 下载bilibili 视频以及字幕

23 篇文章 1 订阅
订阅专栏
17 篇文章 0 订阅
订阅专栏
2 篇文章 0 订阅
订阅专栏

版本

2020-08-11: init 本文的工具都是这个时候的 可能后面有些支持.

概述

最近看到这个视频课程: 【吴恩达团队Tensorflow2.0实践系列课程第一课】TensorFlow2.0中基于TensorFlow2.0的人工智能、机器学习和深度学习简 就想下载到本地 防止被和谐… 所以就使用you-get 下载. you-get 这个 repo clone下来就可以了: 官方repo. 想着以前也提交过代码 再看看也没啥大问题.

使用下载

使用如下命令:

you-get --debug --playlist https://www.bilibili.com/video/BV1zE411T7nb

这个下载没有问题, 但是我发现中文字幕没有了.

所以继续研究了下 如何下载

  1. 观察视频, 发现字幕是可以拖动的, 于是加上firefox 断点
    在这里插入图片描述
  2. 加上断点后拦截请求, 发现有一个请求会初始化对应的subtitles

在这里插入图片描述像上面这个复制为curl 就可以测试:

curl 'https://api.bilibili.com/x/player.so?id=cid%3A162260003&aid=95051759&bvid=BV1zE411T7nb&buvid=FB2BB46F-B1F3-4BDA-A589-333489Q4e0411A155830infoc' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Firefox/78.0' -H 'Accept: */*' -H 'Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2' --compressed -H 'Origin: https://www.bilibili.com' -H 'Referer: https://www.bilibili.com/video/BV1zE411T7nb' -H 'Connection: keep-alive' -H $'Cookie: _uuid=3FFA2652-F830-7C37-F9A4-333489Q4e0411A155830infoc; buvid3=FB2BB46F-B1F3-4BDA-A589-33348940411A155830infoc; sid=cejpsw6m; CURRENT_FNVAL=16; LIVE_BUVID=AUTO9515820831073003; rpdid=|(k)~RY~mkk|0J\'ul)k|)Juuk; im_notify_type_11615329=0; DedeUserID=11615329; DedeUserID__ckMd5=7c197013cd07c4b6; SESSDATA=b2ce8c5b%2C1600861501%2Ca9549*31; bili_jct=b7000d5d160ed086c798d55808a55f75; PVID=2; CURRENT_QUALITY=80; bsource=search_google; flash_player_gray=false; html5_player_gray=false; bfe_id=6f285c892d9d3c1f8f020adad8bed553' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' -H 'TE: Trailers'

这里面需要cid, aid, bvid和 buvid. 只有最后这个buvid不知道是干啥的, 折腾了很久 发现 这个是cookie 中的uuid. 然后经过一些测试后 发现该请求 还需要一个Reffer 不然会报错-412 (应该就是412 估计是b站自己定义的错误码, 412 意味着前置条件未满足):
在这里插入图片描述所以获取该url的最简单地请求是:

https://api.bilibili.com/x/player.so?id=cid%3A162260003&aid=95051759&bvid=BV1zE411T7nb&buvid=FB2BB46F-B1F3-4BDA-A589-333489Q4e0411A155830infoc

with header -H 'Referer: https://www.bilibili.com/video/BV1zE411T7nb'  后面这个是bv号
  1. 解析上面的xml输出
<ip>110.184.137.149</ip>
<zoneid>4538384</zoneid>
<zoneip></zoneip>
<country>中国</country>
<login>true</login>
<time>1597112522</time>
<name>scugxl</name>
<user>11615329</user>
<user_hash>3f9ed8c9</user_hash>
<money>681.20</money>
<face>//i0.hdslb.com/bfs/face/member/noface.jpg</face>
<isadmin>false</isadmin>
<permission>10000,1001</permission>
<level></level>
<level_info>{"current_level":4,"current_min":4500,"current_exp":8127,"next_exp":10800}</level_info>
<answer_status>0</answer_status>
<vip>{"vipType":0,"vipDueDate":0,"dueRemark":"","accessStatus":0,"vipStatus":0,"vipStatusWarn":""}</vip>
<official_verify>{"type":-1,"desc":""}</official_verify>
<block_time>0</block_time>
<lastplaytime>18000</lastplaytime>
<lastcid>162260003</lastcid>
<aid>95051759</aid>
<bvid>BV1zE411T7nb</bvid>
<typeid>201</typeid>
<vtype>vupload</vtype>
<oriurl></oriurl>
<suggest_comment>false</suggest_comment>
<server>chat.bilibili.com</server>
<maxlimit>1000</maxlimit>
<chatid>162260003</chatid>
<pid>1</pid>
<duration>75:37</duration>
<arctype>Original</arctype>
<allow_bp>false</allow_bp>
<bottom>0</bottom>
<shot>false</shot>
<sinapi>1</sinapi>
<acceptguest>false</acceptguest>
<acceptaccel>false</acceptaccel>
<cache>false</cache>
<broadcast_tcp>broadcast.chat.bilibili.com:4080</broadcast_tcp>
<broadcast_ws>broadcast.chat.bilibili.com:4090</broadcast_ws>
<broadcast_wss>broadcast.chat.bilibili.com:4095</broadcast_wss>
<default_dm>0</default_dm>
<dm_host>0://comment.bilibili.com,1://comment.bilibili.com/rc</dm_host>
<role>0</role>
<has_next>1</has_next>
<online_count>6</online_count>
<dm_mask></dm_mask>
<mask_new></mask_new>
<subtitle>{"allow_submit":false,"lan":"","lan_doc":"","subtitles":[{"id":23916631605379079,"lan":"zh-CN","lan_doc":"中文(中国)","is_lock":false,"subtitle_url":"//i0.hdslb.com/bfs/subtitle/dfb81041cf92b5c2ebce2540cd14c9e49674f460.json"}]}</subtitle>
<player_icon></player_icon>
<view_points></view_points>
<is_pay_preview>false</is_pay_preview>
<preview_toast>为创作付费,购买观看完整视频|购买观看</preview_toast>
<interaction></interaction>
<pugv_watch_status>0</pugv_watch_status>
<pugv_pay_status>0</pugv_pay_status>
<pugv_season_status>0</pugv_season_status>
<pcdn></pcdn>
<pcdn_loader>{"flv":{"vendor":"xl","script_url":"\/\/s1.hdslb.com\/bfs\/static\/pcdnjs\/pcdn-xlflv-20.07.20.min.js","group":"eg","labels":{"pcdn_video_type":"flv","pcdn_stage":"release","pcdn_group":"eg","pcdn_version":"20.07.20","pcdn_vendor":"xl"}},"dash":{"vendor":"yf","script_url":"\/\/s1.hdslb.com\/bfs\/static\/pcdnjs\/pcdn-yfdash-20.07.03.min.js","group":"eg","labels":{"pcdn_video_type":"dash","pcdn_stage":"release","pcdn_group":"eg","pcdn_version":"20.07.03","pcdn_vendor":"yf"}}}</pcdn_loader>
<options>{"is_360":false}</options>
<guide_attention></guide_attention>
<new_broadcast>1</new_broadcast>
<realtime_dm>1</realtime_dm>
<enable_gray_dash_playback>500</enable_gray_dash_playback>

上面的输出有个很重要的url就是 subtitles中的json url:

{"allow_submit":false,"lan":"","lan_doc":"","subtitles":[{"id":23916631605379079,"lan":"zh-CN","lan_doc":"中文(中国)","is_lock":false,"subtitle_url":"//i0.hdslb.com/bfs/subtitle/dfb81041cf92b5c2ebce2540cd14c9e49674f460.json"}]}

下载这个json后 我找到了最终的中文字幕:
格式如下:
在这里插入图片描述
4. 将json转为srt字幕
参考的: 这里

  1. 修改you-get 代码
    修改之后的commit在 这里 可以直接用我的repo. (可能需要修改下buvid的值 每个人应该不一样 或者用 you-get的cookie file 应该也可以 我没去测试).

结论

  1. 下载了所有课程并共享到百度云了 百度云 链接: https://pan.baidu.com/s/1S93he0skiUwAihUH309-2Q 密码: sn5a
  2. 以后有时间了把代码merge到 you-get 中 现在懒得提PR了.
  3. 有个小疑问, 有没有什么快速的办法在FIREFOX中搜索某个字符串是哪个url返回的呢? 可能前端的同学更加清楚
  4. 修改后的代码 在: https://github.com/gaoxingliang/you-get/
四十六、You-Get爬取B站热门排名的小视频
微信号:RunsenLiu
08-06 1220
今天,我教大家如何爬取B站的小视频的,首先B站的小视频是完全加密的我们是很难通过视频的网址进行爬取。
泰裤辣,用Python+Excel制作一个视频下载器,手把手教学讲解
Gtieguo的博客
07-16 577
说起Excel,那绝对是数据处理领域王者般的存在。而作为网红语言Python,在数据领域也是被广泛使用。其中Python的第三方库-xlwings,一个Python和Excel的交互工具,可以轻松地通过VBA来调用Python脚本,实现复杂的数据分析。今天,就给大家介绍一个Python+Excel的项目【视频下载器】。...
如何使用Python下载哔哩哔哩(Bilibili视频字幕
FLK_9090的博客
05-08 1413
在本文中,我将向大家展示如何使用Python下载哔哩哔哩(Bilibili视频字幕。通过这个方法,你可以轻松地获取你喜欢的视频字幕文件,方便学习和交流。
视频下载工具you-get+批量修改文件名(自动播放字幕)
qq_40356040的博客
04-05 1701
哔哩哔哩大学课程下载说明下载视频下载字幕提取文件名 下载视频 安装you-get : pip install you-get 下载命令: you-get --format=dash-flv720 --playlist https://www.bilibili.com/video/BV********* --format=dash-flv720下载720P的MP4文件 --playlist下载全部分集视频 下载字幕 安装Bilibili Evolved插件 提取文件名 目的是将视频文件名称修改为字幕文件名,
如何下载b站字幕
最新发布
weixin_38116744的博客
08-16 919
打开字幕解析下载网站,熊猫字幕(pdsub.com)b站提供了用户上传字幕以及ai字幕,那么如何下载呢?4、将刚才的链接复制进解析框,点击解析。5、等待一会就能看到所有解析出来的字幕。2、复制视频链接或者分享链接。6、下载完后还可以转换格式。1、检查视频是否存在字幕
使用you-get下载b站视频
Zurielhgq的博客
11-29 1531
mac下使用you-get下载b站视频
you-get下载bilibili视频
ajream的博客
04-03 2287
首先要安装“you-get”工具,这是一个python工具,所以需要用 pip install you-get 命令安装 去B站复制所需要下载视频的URL链接,然后使用下面的语句进行下载: you-get -l URL # 批量下载 需要指定视频清晰度的(比如要下载1080p的),需要先查看所下载视频有哪几种清晰度的: you-get -i URL # 查看视频信息(这个步骤不会下载) 如图: 然后输入格式即可下载指定清晰度的视频,如下载1080P的: you-get -l --f..
通过you-get命令行工具下载B站等常见网站高清视频
二进制君
11-06 2227
EditThisCookie 源码:https://github.com/ETCExtensions/Edit-This-Cookie。手动复制 cookies 显然是麻烦的,所以我采用了 EditThisCookie 这个插件来导出对应的 cookies。但很显然的是,直接下载往往只能下载到低画质的,而且也无法下载需要会员的视频,所以需要登录后的 cookie。两种格式的 cookies,所以我们需要找到一个符合格式的 cookies。,这样一来,我们就能导出符合要求的。和 Netscape。
通过you-get下载bilibili视屏
Supremelv的博客
10-11 436
下载视屏素材
下载视频-you-get
Rxe的博客
01-06 523
Github地址:https://github.com/soimort/you-get 官方网站:https://you-get.org/ 知乎参考:如何下载网页上的视频? 一、安装Python 官网下载链接(3.9.1):https://www.python.org/downloads/release/python-391/ 下载 打开安装,记得勾选 Add Python to PATH 这样就不用再手动配置环境变量了,直接可用。 验证安装是否成功: 运行cmd 命令提示符--输入
B 站下载教学视频
isnil的专栏
08-05 624
B站中的教学视频大都有许多分集,而且可能涉及到版权,过不了多久可能会失效,最好的办法就是先保存下来再说。 这里介绍的you-get可以下载许多视频网站的视频,在此仅介绍B站的下法。 虽然速度基本在120~140kB/s,但还是可以接受吧 第一步:安装Python3,过程略...... 第二步:安装you-get,从cmd输入pip install you-get 即可 第三版:从cmd输入命令 you-get -l -o f:\codetutor\youxi https://www.bilib
下载 bilibili 视频字幕文件
weixin_46034990的博客
10-24 4350
首先将上述字幕文件下载到本地,然后执行如下代码,提取字幕文件中的文本内容。打开一个 bilibili 网页,鼠标右键,然后点击 “检查”选项切换到 “Network”,然后重新打开此网页。进行过滤,然后可以看到一个 后缀为。的文件,即为该视频对应的字幕文件。
【Python】使用you-get下载bilibili视频合集
memcpy0的博客
01-23 1万+
文章目录1. `you-get` 说明2. `you-get` 安装3. `you-get` 使用(1)查看视频源信息 `--info/-i` 和下载视频(2)下载其他内容(3)下载视频合集 `--playlist/-l` 和修改存储路径 `--output-dir/-o` 今天,为了一口气下载完哔哩哔哩上的某个视频合集(一百多P),我在网上四处搜索,这才发现了 you-get 这个有用的工具。因此想在这里做个记录,以后需要用的时候方便查看。 1. you-get 说明 you-get 是一个开源的命令行
下载bilibili视频
xiang__liu的博客
09-03 7558
http://www.urlgot.com/zh_CN/    
使用you_get下载B站视频
qq_46258819的博客
03-14 942
Windows环境下使用you_get下载B站视频 准备工具: python环境 具体步骤: 1、创建一个空的文件夹用来存储视频文件,打开cmd控制台 2、运行 pip install you-get 命令,安装 you-get 包 pip install you-get 通过执行pip list,可以检查一下是否安装成功 pip list 3、进入目标文件夹 下载单个视频 you_get + 视频地址 下载整个视频合集 you-get --playlist 视频网址 ...
python利用you-get轻松下载B站视频
热门推荐
STAR_LORD
07-24 2万+
you-get是个神奇的东西 举个栗子 import sys from you_get import common as you_get #导入you-get库 directory = r'D:\1' #设置下载目录 url = 'https://www.bilibili.com/video/av27036095/' ...
mac安装ffmpeg you-get,简单下载b站视频
qyqyqyi的博客
01-22 298
ffmpeg,you-get下载b站视频
NVIDIA+Win10+CUDA+cuDNN 及YOLO实现目标检测
qq_22016915的博客
09-17 701
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\libnvvp
快速批量下载视频you-get,B站视频下载工具
GRHSXY的博客
10-07 2546
https://blog.csdn.net/wade1203/article/details/90735776
如何用you-get获取b站视频
07-24
使用 you-get 来获取 B 站视频非常简单。您只需要按照以下步骤操作: 1. 安装 you-get:在命令行中执行 `pip install you-get` 命令进行安装。 2. 打开 B 站网页,找到您想要获取的视频,并复制视频的链接地址。 3. 在命令行中执行以下命令,将复制的视频链接粘贴到命令中: ``` you-get [视频链接] ``` 例如: ``` you-get https://www.bilibili.com/video/BVxxxxxxxx ``` 4. 按下 Enter 键执行命令,you-get 将会解析视频链接并获取视频信息。 5. 根据视频的清晰度和格式,you-get 会自动选择最佳的下载选项,并开始下载视频。 6. 下载完成后,视频文件将保存在当前目录下。 请注意,you-get 可以获取大部分 B 站的免费视频,但对于会员或付费视频,***
写文章

热门文章

  • Windows 平台如何抓包 68421
  • 手机和电脑如何快速传大文件 50785
  • 理解linux cpu load - 什么时候应该担心了 30283
  • 触发Full gc条件 27186
  • 使用hmailserver搭建邮件服务器 22222

分类专栏

  • 择维士 15篇
  • 技术分享 12篇
  • springboot 12篇
  • GRPC 3篇
  • docker 2篇
  • 分布式 2篇
  • spring 7篇
  • h2 1篇
  • k8s 1篇
  • 拾遗 2篇
  • java 69篇
  • 数据库 14篇
  • 数据结构 10篇
  • linux 10篇
  • 工作 23篇
  • 学习 17篇
  • 其他 4篇
  • web 15篇
  • Tomcat 1篇
  • 算法 4篇
  • xml 2篇
  • 多线程 13篇
  • gc 11篇
  • c/c++ 1篇
  • nodejs 1篇
  • windows 4篇
  • python 2篇
  • 网络 5篇

最新评论

  • BitSet的python实现

    择维士: 感谢指正,在0.0.7中fix了

  • BitSet的python实现

    asgsmile: 63,127,191········程序出错。

  • BitSet的python实现

    asgsmile: 插入63会报错!

  • Postgresql JDBC的 OOM问题

    yebai: 写的不错,谢谢分享

  • Mysql如何实现隔离级别 - 可重复读和读提交 源码分析

    择维士: 你是对的哈

大家在看

  • springboot589健身俱乐部网站--论文-手把手调试搭建
  • SpringCloud学习:Spring Cloud Alibaba Nacos(服务注册中心、配置管理中心)
  • Python 文件压缩与解压缩系统设计 12
  • 被网络诈骗怎么报案,了解110报案过程?
  • C++ | Leetcode C++题解之第485题最大连续1的个数

最新文章

  • 监控房价和挂牌数量的工具-以成都房价为例
  • 【闲聊】一个关注健康的小程序--科技镜头
  • 写给Java程序员的GRPC入门系列(3)
2024年1篇
2023年1篇
2022年14篇
2021年8篇
2020年12篇
2019年14篇
2018年10篇
2017年6篇
2016年19篇
2015年15篇
2014年18篇
2013年11篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司太原网站优化推广渠道网站优化要做哪些许昌正规网站优化排名网站链接优化的建议镇远网站优化与推广临沂网站维护优化网站内部优化怎么弄网站优化课程海报设计宿州网站排名优化网站的seo优化案例分析宝安网站自动优化服务商网站优化必看广西省网站推广与优化网站优化看那几个指标大悟县网站做优化代理加盟商丘百度网站优化哪家有实力优化网站不能做的事情做完优化后网站多久可以被收录塘沽网站建设优化牡丹江正规的网站优化公司优化网站软件心细火23星黔西福州网站优化如何优化网站热销易速达济南哪家网站优化好库尔勒软件优化网站付费网站优化有哪些嘉兴网站推广优化费用太原企业网站怎么优化朝阳区个人网站优化答疑解惑铜陵苏州网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化