We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
问题描述 获取该UP主视频时,发现分页只能获取前20个视频 https://space.bilibili.com/1632770256 https://space.bilibili.com/1632770256/video
The text was updated successfully, but these errors were encountered:
查询UP主所有视频有两种方法。
第一种,像https://space.bilibili.com/1632770256/video。 优点是可以进行分页查询 缺点是相关的api只能获取最基本的信息。比如,如果BV是多P视频,那么只有第一P的信息;如果是不同BV组成的合集,那么只有该合集信息,以及合集第一个BV的BV号。
https://space.bilibili.com/1632770256/video
使用这种方式的话,每个BV又要更进一步进行查询,因为我们不知道这个BV是否是最简单的单P视频。这样的话网络请求实在是太多了。
第二种,像https://www.bilibili.com/list/1632770256。 优点是可以一步到位,把相关的视频信息都拉出来 缺点是无法按照页数进行分页查询,它的查询逻辑是给定BV号后面的若干视频。 比如要查第5页,那么必须知道第4页最后一个视频,然后是第3页...以此类推。第1页需要的信息为空。 另一个缺点,就是它虽然有所有的BV信息,但是却并不知道单个BV是否属于多BV合集
https://www.bilibili.com/list/1632770256
Sorry, something went wrong.
6.26版本,我们的做法是综合两者。比如,分页大小为20,查询第5页的信息。 首先,根据第一种的API,我们构造分页大小为1,页数为81的请求,找到第81个BV的信息。 然后,根据第二种的API,我们查询第81个BV在内的20个BV。
6.26
20
5
1
81
对于只有单P、多P视频的UP来说,这种做法是没有问题的。 对于含有多BV合集的UP来说,问题很大。
第一种的API只能查询到多BV合集的第一个BV(这个合集里的其它BV是get不到的),而第二种是全部。 两种API查的BV在数量以及排序上面有了很大的分歧。
现在,我们的做法仍然是综合两者。具体的,举例来说,分页大小为20,查询第5页的信息。 首先,根据第一种的API,我们构造分页大小为1,页数为81的请求,找到第81个BV的信息。
然后,根据第一种的API,我们构造分页大小为1,页数为101的请求,找到第101个BV的信息。
101
再然后,根据第二种的API,我们查询第81个BV在内的20个BV。 如果结果包含有第101个BV,那么在该BV位置结束(不包含该BV)。 如果没有,找到最后一个BV,查询不包含该BV在内的后20个BV...以此类推,直到包含有第101个BV结束。
这个方法有两个缺点:
pn
3d0c72a
No branches or pull requests
问题描述
获取该UP主视频时,发现分页只能获取前20个视频
https://space.bilibili.com/1632770256
https://space.bilibili.com/1632770256/video
The text was updated successfully, but these errors were encountered: