SocialSisterYi / bilibili-API-collect

哔哩哔哩-API收集整理【不断更新中....】
https://socialsisteryi.github.io/bilibili-API-collect/
Other
14.51k stars 1.64k forks source link

[补充] 视频合集与列表 #945

Closed SOCK-MAGIC closed 1 month ago

SOCK-MAGIC commented 7 months ago

367

404

[合集视频]-https://api.bilibili.com/x/polymer/space/seasons_archives_list?mid=37737161&sort_reverse=false&season_id=1227671&page_num=1&page_size=30 [只获取系列视频]--https://api.bilibili.com/x/polymer/web-space/home/seasons_series?mid=37737161&page_num=1&page_size=10 [查询系列视频]--https://api.bilibili.com/x/series/series?series_id=2800548

SOCK-MAGIC commented 7 months ago

[获取空间系列和合集视频]-https://api.bilibili.com/x/polymer/web-space/seasons_series_list?mid=1219456450&page_num=1&page_size=18&web_location=333.999&w_rid=03b4190fbc78ab21a46bade3e32a5064&wts=1706173818

cr941131 commented 4 months ago

通过这样的方法:

https://api.bilibili.com/x/polymer/web-space/seasons_series_list?mid=344849038&page_num=1&page_size=20

获取到的视频合集不全,请问应该如何解决?此 up 的合集实际应有 6 个,但是只返回了前两个

修改 page_num 参数或者 page_size 参数都没有用。

假如修改 page_num 参数,只有 page_num = 1 时有数据,之后的页面都是空的。

而 page_size 最大值为 20,超过会报错 {"code":-400,"message":"请求错误","ttl":1}

SOCK-MAGIC commented 4 months ago

items_lists下有seasons_list(2个)和series_list(4个)

cr941131 commented 4 months ago

合集确实有 6 个,我之前说错了,我的问题是合集不全,你可以把 json 数据保存下来,然后用下面的 python 代码进行读取,只能读取到 29 个,每个合集都包含了一些但不全。而实际上合集的视频总数有 53 个,我认为这里应该有后面的页数。

import json

with open('content.txt', 'r', encoding='utf-8') as fp: 
    txt = fp.read()

data = json.loads(txt)

items_lists = data['data']['items_lists']

archives = []
for season in items_lists['seasons_list']:
    archives.extend(season['archives'])

for series in items_lists['series_list']:
    archives.extend(series['archives'])

print('获取archives总数:', len(archives))
获取archives总数: 29

作者空间:https://space.bilibili.com/344849038/channel/series Clip_2024-04-17_00-35-36

SOCK-MAGIC commented 4 months ago

B站只返回最多6个最近的视频,要想得到全部视频还要在查询一遍 https://api.bilibili.com/x/series/series?series_id=485264 https://api.bilibili.com/x/polymer/web-space/seasons_archives_list?season_id=35378

cr941131 commented 4 months ago

对于这样的方法获取 season_id 现在没有问题了: https://api.bilibili.com/x/polymer/web-space/seasons_archives_list?season_id=35378

但是使用 series_id 获取到的视频信息只有最近的 10 个(实际应有 16 个) 应该如何解决? https://api.bilibili.com/x/series/series?mid=344849038&series_id=341793

{
  "code": 0,
  "message": "0",
  "ttl": 1,
  "data": {
    "meta": {
      "series_id": 341793,
      "mid": 344849038,
      "name": "学习观",
      "description": "人脑学习视频\n并非经验总结,而是演化切入的",
      "keywords": [
        ""
      ],
      "creator": "",
      "state": 2,
      "last_update_ts": 1652720585,
      "total": 16,
      "ctime": 1631964363,
      "mtime": 1652720585,
      "raw_keywords": "",
      "category": 1
    },
    "recent_aids": [97049740, 78766364, 843420241, 90424787, 65013444, 60071067, 55513374, 54874176, 45329808, 44080562]
  }
}

实际应有 16 个:https://space.bilibili.com/344849038/channel/seriesdetail?sid=341793

z0z0r4 commented 4 months ago

https://api.bilibili.com/x/series/archives?mid=344849038&series_id=341793&only_normal=true&sort=desc&pn=1&ps=30&current_mid=558830935

我不理解这么一目了然的东西怎么搞这么久的,稍微 F12 搜一下 series_id 就出来了,没有 mid 的话可以先请求 api.bilibili.com/x/series/series?mid=344849038&series_id=341793 拿 meta

image

guanzhujiaran commented 4 months ago

这个接口挺好玩的,再查一下mid,可以看到那些账号注销了,但视频没删的账号

cr941131 commented 4 months ago

@z0z0r4 感谢

z0z0r4 commented 4 months ago

来个人pr下呗=-=

SessionHu commented 1 month ago

maybe added in #1064