Greasy Fork is available in English.

哔哩哔哩(B站|Bilibili)收藏夹Fix

修复 哔哩哔哩(www.bilibili.com) 失效的收藏。(可查看av号、简介、标题、封面)

< Feedback on 哔哩哔哩(B站|Bilibili)收藏夹Fix

Question/comment

§
Posted: 2023.11.29.

提供一个(大家都可以临时使用的)修bug的办法,希望作者更新一下。

脚本的三个功能:①移除disabled样式、将B站简单藏起来的UP主信息重新展示,②从biliplus获取缓存了的原标题和封面,③从B站端口获取简介信息、鼠标悬停展示

其中①依然正常(有的人说脚本能用其实只是指这一功能正常),②由于很多视频没被biliplus缓存所以(没办法)老是失效仅仅偶尔能用,③由于B站换了端口所以脚本该功能已经失效一段时间了,但是可以修。

今天看了一下③,B站端口已经从
https://api.bilibili.com/medialist/gateway/base/spaceDetail?media_id=${fid}&pn=${pn}&ps=20&keyword=&order=mtime&type=0&tid=0&jsonp=jsonp
变成了
https://api.bilibili.com/x/v3/fav/resource/list?media_id=${fid}&pn=${pn}&ps=20&keyword=&order=mtime&type=0&tid=0&platform=web
但是访问这个端口必须要带cookies。不知道为什么(历史原因还是什么)脚本里好几处已经用上了 GM_xmlhttpRequest,但访问B站端口时依然还在用 jQuery ajax请求(不自带cookies),所以仅仅修改端口字符串还不够,也要更新成 GM_xmlhttpRequest 才能用。

修改方式

        $.ajax({
             url: `https://api.bilibili.com/medialist/gateway/base/spaceDetail?media_id=${fid}&pn=${pn}&ps=20&keyword=&order=mtime&type=0&tid=0&jsonp=jsonp`,
            success: function(json) {

注释掉或删掉,统一改成

        GM_xmlhttpRequest({
            method: 'GET',
            url: `https://api.bilibili.com/x/v3/fav/resource/list?media_id=${fid}&pn=${pn}&ps=20&keyword=&order=mtime&type=0&tid=0&platform=web`,
            responseType: "json",
            onload: function(response) {
                const json = response.response;

同时,由于用上了 GM_xmlhttpRequest 来连接B站端口,所以在脚本开头的字段

// @connect      biliplus.com

的地方要加上它

// @connect      biliplus.com
// @connect      api.bilibili.com

此外,提供一点新feature,个人觉得挺需要,也希望作者更新进去
①是鼠标悬停时展示的信息可以更多些,毕竟B站端口提供了那么多的信息。将

                    const content = `av:${aid}\nP数:${$media.page}\n子P:${titles}\n简介:${$media.intro}`;

更新成

                    const content = `av:${aid}\nbv:${bv}\n标题:${$media.title}\nUP主:${$media.upper.name} (https://space.bilibili.com/${$media.upper.mid})\n简介:${$media.intro}\n发布时间:${new Date($media.pubtime*1000).toLocaleString()}\nP数:${$media.page}\n子P:${titles}\n播放数:${$media.cnt_info.play}\n收藏数:${$media.cnt_info.collect}\n弹幕数:${$media.cnt_info.danmaku}`;

②是在稿件原标题和封面没被缓存导致恢复失败的时候,我需要用残存的UP主名字信息,找他的空间看其他投稿、推断被删的视频是什么。因此加一个“跳转UP主空间”一键按钮的功能,在

                    addCopyInfoButton($(it), content);

的后面新增一个

                    addOpenUpSpaceButton($(it), $media.upper.mid);

并且在

    function addCopyInfoButton($item, content) {
        addOperation($item, "复制简介", function() {
            GM_setClipboard(content, "text");
            tipSuccess("简介复制成功!");
        });
    }

的位置后面插入我这个新的 addOpenUpSpaceButton() 函数的定义:

    function addOpenUpSpaceButton($item, mid) {
        addOperation($item, "跳转UP主空间", function () {
            GM_openInTab(`https://space.bilibili.com/${mid}`, {active: true, insert: true, setParent: true});
            tipSuccess("跳转UP主空间成功!");
        });
    }

并且由于用到了 GM_openInTab 函数,所以在脚本开头的字段

// @grant        GM_xmlhttpRequest
// @grant        GM_notification
// @grant        GM_setClipboard
// @grant        GM_getResourceURL

的地方也要补充一个

// @grant        GM_openInTab

就这些了。
这个脚本的人气还是很高的,我就暂时不fork出去了,等作者自己原地更新。各位其他使用者也可以用我上述的办法修掉bug③。

§
Posted: 2023.12.12.

很有用,修改后,鼠标悬停失效视频会出现很多信息,但是点击失效视频跳转到biliplus后会显示“无法从哔哩哔哩开放平台获取正确数据

CID解析错误:NO_SUCH_VIDEO
无法获取视频信息。
可能原因是您输入的AV号不存在或该投稿仅允许会员浏览,具体原因请查看下方错误代码。
Error: [-404] {"code":-404,"message":"啥都木有","ttl":1,"data":{"custom_config":{"redirect_url":"http://www.bilibili.com/h5/special-404/788338701?navhide=1"}}}

§
Posted: 2023.12.12.

很有用,修改后,鼠标悬停失效视频会出现很多信息,但是点击失效视频跳转到biliplus后会显示“无法从哔哩哔哩开放平台获取正确数据

CID解析错误:NO_SUCH_VIDEO
无法获取视频信息。
可能原因是您输入的AV号不存在或该投稿仅允许会员浏览,具体原因请查看下方错误代码。
Error: [-404] {"code":-404,"message":"啥都木有","ttl":1,"data":{"custom_config":{"redirect_url":"http://www.bilibili.com/h5/special-404/788338701?navhide=1"}}}

正常的,这就是我开头说的功能②相关,假如biliplus有缓存过那就有,假如biliplus没缓存过那就没有,这个biliplus就是这样的,经常是不能用的

§
Posted: 2023.12.12.
Edited: 2023.12.12.

修改后实测很有效.不过要是能有办法把原视频的标题也弄回来就更好了

§
Posted: 2023.12.20.

很有用,修改后,鼠标悬停失效视频会出现很多信息,但是点击失效视频跳转到biliplus后会显示“无法从哔哩哔哩开放平台获取正确数据

CID解析错误:NO_SUCH_VIDEO
无法获取视频信息。
可能原因是您输入的AV号不存在或该投稿仅允许会员浏览,具体原因请查看下方错误代码。
Error: [-404] {"code":-404,"message":"啥都木有","ttl":1,"data":{"custom_config":{"redirect_url":"http://www.bilibili.com/h5/special-404/788338701?navhide=1"}}}

正常的,这就是我开头说的功能②相关,假如biliplus有缓存过那就有,假如biliplus没缓存过那就没有,这个biliplus就是这样的,经常是不能用的

明白了,谢谢你的改进教程

§
Posted: 2023.12.21.

有用,不过我建议还是fork一份。。

§
Posted: 2023.12.24.

谢谢, 但还是建议FORK

§
Posted: 2024.02.23.

哔哩哔哩历史记录可以查看已失效视频的封面和视频标题,有没有什么方法可以在收藏夹内实现

§
Posted: 2024.02.26.

有用,谢谢

§
Posted: 2024.03.07.

哔哩哔哩历史记录可以查看已失效视频的封面和视频标题,有没有什么方法可以在收藏夹内实现

“稍后再看”也一样保留了已失效视频的封面和标题,但是我尝试过了,没能成功骗到B站以为我将该失效视频加入“稍后再看”,骗历史记录估计更不可行

§
Posted: 2024.03.07.
Edited: 2024.03.07.

谢谢 , 但还是建议 FORK https://greasyfork.org/zh-CN/scripts/489224-哔哩哔哩-b站-bilibili-收藏夹fix-cerenkov-fork

你可以試試去Github提交PR看看

https://github.com/Mr-Po/bilibili-favorites-fix

另外這是作者email: e-mail:ldd_live@foxmail.com

§
Posted: 2024.03.09.

谢谢 , 但还是建议 FORK https://greasyfork.org/zh-CN/scripts/489224-哔哩哔哩-b站-bilibili-收藏夹fix-cerenkov-fork

你可以試試去Github提交PR看看

https://github.com/Mr-Po/bilibili-favorites-fix

另外這是作者email: e-mail:ldd_live@foxmail.com

好,我尝试着提交了一下PR,不太确定什么时候有回应

Post reply

Sign in to post a reply.