研究B站个人收藏中已失效的视频

扩展阅读:

【还有该网址内容存在未知风险这种操作的么 -_-||】

研究B站已失效的视频

目录

1. 前言说明
2. 获取和研究网页源代码
3. 获取和研究 JSON 文件
4. 其他途径的尝试
5. 心得总结

一、前言说明

  1. 前言部分:
    最近打开自己的收藏夹,发现部分视频已经变成了已失效状态,o(╥﹏╥)o 。
    在这里插入图片描述
    但是,就算不给播放视频,至少把视频的标题放上去,连失效的视频是什么都没办法了解。最近几天的收藏还记得住,可是时间一长就完全不知道自己收藏的已失效视频是什么,多惨哪。所以,想用自己仅有一些掌握的能力看看能不能找到一些有用的信息。【PS.重要的视频还是预先缓存着。因为自己比较佛系,失效的视频对我不会产生太大的波澜。】
  2. 说明部分:
    部分测试的需要(友情参与)
    UP 主:oeasy
    UID:2884629
    【PS.sdl awsl】

二、获取和研究网页源代码

  1. 先来到个人空间的收藏夹位置
    在这里插入图片描述
  2. F12,并 F5 刷新页面
    在这里插入图片描述
    这里,我们已经获取到了所需的 HTML 源代码,接下来尝试寻找所需要的信息。
  3. 查找到下面这样的情况
    在这里插入图片描述
    上图中的 data-aid就是视频的 av 号
  4. 随便找一个 aid 号,将它的结点全点开
    在这里插入图片描述
    从 HTML 源代码中,就写着不少的信息。但是这是未失效的视频,并没有达到初衷,对我们来说没有用。因此,尝试查找已失效视频的相关源代码。
  5. 查找一个已失效视频的部分 HTML的源代码,并将它的结点全点开
    在这里插入图片描述
    通过源代码的对比,不难看出,这是就是一个失效的视频。
    这个视频的封面的链接,也变成了已失效的封面。
    在这里插入图片描述

现在从上面那段失效视频的 HTML 源代码中,我们勉强只能整理出一下信息:

aid/av 号54875782
视频时长09: 01
播放数89.1 万
收藏数11.2万
UP主Powersee
投稿日期6-8
视频状态已失效
收藏日期6-11

但是,最重要的是,视频标题是什么,不知道标题,还是不清楚我收藏了什么。通过 UP 主的动态了解也是一种办法,但是不精准。由此可见,HTML 源代码已经没办法查到更多的信息,只好尝试别的方法。

三、获取和研究 JSON 文件

  1. F12,选择 Network,并 F5 刷新,进行浏览器的抓包
    在这里插入图片描述
  2. 尝试查找与收藏部分有关的内容
    在这里插入图片描述
    可以看出,这个请求链接返回的数据文件好像有我们想要的数据,并且更加内容详细。
  3. 如何轻松获取请求链接,并获得数据呢?
    观察上述图片中的链接:https://api.bilibili.com/medialist/gateway/base/spaceDetail?media_id=64363929&pn=1&ps=20&keyword=&order=mtime&type=0&tid=0&jsonp=jsonp
    里面有个 media_id ,并不知道从哪里出来的,但是如果知道 media_id 号,就可以返回想要的数据。
    首先猜测是否与 uid 有关【猜测的理由是:uid 号可以唯一指定B站用户,而收藏夹是每个人独一无二的。不管怎么样,都无法避免使用 uid 号来区分互联网上的客户,通过 uid 号 B站的服务器才能准确地返回相应用户的数据】
    uid 号目前是 2884629,而 media_id 是 64363929,两者并不一致。
    因而,查找两者是否有联系,继续抓包测试。
    经过测试可以抓到以下的内容,下面的链接请求后,可以返回收藏夹的一些信息,里面就有需要的 media_id 号
    在这里插入图片描述
    再观察一下请求的链接:https://api.bilibili.com/medialist/gateway/base/created?pn=1&ps=100&up_mid=2884629&is_space=0&jsonp=jsonp
    链接中的 up_mid 参数,就是每个用户的 uid 号。
    通过用户 uid 拼接上面的链接,就可以访问到指定 uid 用户的收藏夹的相关信息,再用其中返回的 media_id 号,对收藏夹具体信息的链接拼接,就能返回指定的收藏夹中视频具体的信息。
  4. 接下来要对返回的数据文件,进一步地分析来尝试获取有用的信息,先研究一个未失效视频的数据

从返回的数据结构来看,属于 JSON 数据。
将返回的数据格式化【JSON 格式化】,并从中截取一个未失效视频的相关数据:

{'attr': 0,
 'cnt_info': {'coin': 86456,  # 硬币数
              'collect': 227945,  # 收藏数
              'danmaku': 3227,  # 总弹幕数
              'play': 1085684,  # 播放数
              'reply': 2825,  # 回复量(评论量)
              'share': 3182,  # 分享
              'thumb_down': 0,
              'thumb_up': 96059},  # 赞数
 'coin': {'coin_number': 0, 'max_num': 2},  # 最大投币量
 'cover':  'http://i0.hdslb.com/bfs/archive/d5e0501fbb3264cc8466712bf2d27817fea9646e.jpg',  # 封面
 'ctime': 1565052384,  # 视频更新的时间,unix时间戳
 'dimension': {'height': 1080, 'rotate': 0, 'width': 1920},
 'duration': 722,  # 视频时长
 'fav_state': 0,
 'fav_time': 1565261009,
 'id': 62421509,  # av号
 'intro':  # 简介 '视频做的匆忙,难免有纰漏之处,欢迎批评指正,有什么问题也可以加群交流探讨。\nQ群:941763264',
 'like_state': 0,
 'link': 'bilibili://video/62421509',
 'page': 1,
 'pages': [{'dimension': {'height': 1080, 'rotate': 0, 'width': 1920},
            'duration': 722,
            'from': 'vupload',
            'id': 108486609,
            'metas': [{'quality': 15, 'size': 46063},
                      {'quality': 16, 'size': 46063},
                      {'quality': 32, 'size': 102054},
                      {'quality': 48, 'size': 131837},
                      {'quality': 64, 'size': 217610},
                      {'quality': 74, 'size': 316885},
                      {'quality': 80, 'size': 316885},
                      {'quality': 112, 'size': 614710},
                      {'quality': 116, 'size': 614710},
                      {'quality': 66, 'size': 180680}],
            'page': 1,
            'title': '十大良心网站推荐12345'}],  # 标题
 'pubtime': 1565052384,  # 视频更新的时间
 'tid': 122,
 'title': '十大良心网站推荐',
 'type': 2,
  # Up主相关信息
 'upper':  {'face':  'http://i1.hdslb.com/bfs/face/1db648dd07a60357621c154fe4a28e5f141c8e22.jpg',  # 头像
           'followed': 0,
           'mid': 290067690,  # uid
           'name': '文森特先生V',  # id号
           'vip_due_date': 1568131200000, VIP  # 相关信息
           'vip_pay_type': 0,
           'vip_statue': 1,
           'vip_type': 1}}
         

从上一段数据中,可以获取大量与视频有关的详细信息。

  1. 接下来尝试研究一个已失效视频的相关数据
{'attr': 1,
 'cnt_info': {'coin': 46550,
              'collect': 112515,
              'danmaku': 1693,
              'play': 890745,
              'reply': 2542,
              'share': 2626,
              'thumb_down': 0,
              'thumb_up': 41858},
 'coin': {'coin_number': 0, 'max_num': 2},
 'cover': 'http://i0.hdslb.com/bfs/archive/be27fd62c99036dce67efface486fb0a88ffed06.jpg',
 'ctime': 1559964951,
 'dimension': {'height': 1080, 'rotate': 0, 'width': 1920},
 'duration': 541,
 'fav_state': 0,
 'fav_time': 1560201439,
 'id': 54875782,
 'intro': '软件下载地址:https://www.lanzous.com/b768687\n'
          '\n'
          'tracker 地址:https://github.com/ngosang/trackerslist',
 'like_state': 0,
 'link': 'bilibili://video/54875782',
 'page': 1,
 'pages': [{'dimension': {'height': 1080, 'rotate': 0, 'width': 1920},
            'duration': 541,
            'from': 'vupload',
            'id': 95971248,
            'metas': [{'quality': 15, 'size': 34515},
                      {'quality': 16, 'size': 34515},
                      {'quality': 32, 'size': 76470},
                      {'quality': 48, 'size': 98786},
                      {'quality': 64, 'size': 163057},
                      {'quality': 74, 'size': 237444},
                      {'quality': 80, 'size': 237444},
                      {'quality': 112, 'size': 460607},
                      {'quality': 116, 'size': 460607},
                      {'quality': 66, 'size': 135385}],
            'page': 1, # 终于找到视频的标题 
            'title': '为什么你的BT种子文件下载不动?几个设置让它跑满带宽:tracker,DHT,端口映射'}], 
 'pubtime': 1559964950,
 'tid': 122,
 'title': '已失效视频', # 变成失效视频
 'type': 2,
 'upper': {'face': 'http://i0.hdslb.com/bfs/face/7606fa7cbf1c463aa1d373d97350b8d87fd66d98.jpg',
           'followed': 0,
           'mid': 254479550,
           'name': 'Powersee',
           'vip_due_date': 1554912000000,
           'vip_pay_type': 0,
           'vip_statue': 0,
           'vip_type': 1}}

由此,终于找到了失效视频的标题,总算完成之前想要实现的目标 —— 确定已失效视频的标题。唯一可惜的是,视频的封面仍旧是失效的视频封面,但是能知道失效的视频的标题是什么某种程度上是可接受的。

四、其他途径的尝试

  1. 首页- BiliPlus - ( ゜- ゜)つロ 乾杯~
    这个网站很厉害,可以轻松查找出失效视频的相关信息,而且更加详细和用户友好。
    在这里插入图片描述
    测试失效视频 av 号:54875782
    在这里插入图片描述
  2. Btools - 一个用户友好型的浏览器插件
  • 功能介绍
    • 增强评论功能
    • 历史表情
  • 评论搜索
  • 增强B站收藏夹【原 “查看失效视频” 功能,B站更新了收藏夹,页面数据中及后台请求数据中删除了视频封面和标题,因此原功能失效。改为增强B站收藏夹,你依然可以用这个功能查看失效视频的简介、分P名以及UP主,可能会帮你想起这个失效视频。没失效的视频则可以快速的打开封面、打开UP主空间、跳转哔哩哔哩唧唧。】
  • 直播助手
    • 隐藏显示PK分数
    • 隐藏迷你播放器
  • 转发抽奖
  • 获取专题文章中的URL
  • 获取视频封面
  • 微博评论自动加载功能

五、心得总结

以上就是自己对B站个人收藏中已失效的视频的相关资料的搜寻和研究,后续如果发现别的方法,可能会继续补充。通过这些办法,我们就可以实现获取已失效的的视频的相关信息,帮助自己唤起那段丢失的记忆。总觉得视频失效,最可怜的是,放在收藏夹准备以后看的用户,结果就一遍都看不到了【虽然也不一定再回去看】。
偶遇的神奇网站:B站速刷网

点我回顶部

 
 
 
 
 
 
 
Fin.

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页