研究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': 
  • 32
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值