0xlau / biliplus

🧩 A Chrome/Edge extension to feel better in bilibili.com
https://chromewebstore.google.com/detail/liddcdcjkpeaiblhebgihpmcaknpgbgk
MIT License
614 stars 31 forks source link

关于直接去掉广告卡片的功能 #46

Open airoucat opened 4 months ago

airoucat commented 4 months ago

问题:

现在推荐视频中的广告卡片即使是用工具屏蔽,但仍有一个卡片占着位置,还是有点碍眼 就像这样:

image

可行性:

一次刷新后只会给10个数据组成卡片,直接去掉其中的广告卡片的话剩下的位置会被下面其它部分的卡片顶上来不会被右侧刷新按钮刷新掉,那么可不可以让刷新返回推荐的数据多响应一次,两次响应数据先整合在一起,这样就有20个数据了,剔除掉广告后仍然可以满足铺满推荐位置

希望作者大大可以考虑一下这个问题

0xlau commented 4 months ago

完全明白你的意思,非常有意义的想法,有兴趣提个PR不

Mesimpler commented 4 months ago

提供的思路没问题,我也尝试实现了一下。

原理是代理换一换的请求 https://api.bilibili.com/x/web-interface/wbi/index/top/feed/rcmd,在请求发出前修改ps参数可以控制返回的feed数量,这样就不必发起两次请求,再将响应数据中的广告过滤并将数组裁剪为10即可实现。

ps的值的话设置成11可以最小化影响,目前来看每次roll广告数量不会超过1。

目前主要问题是首屏广告无法使用这种方法,b站为了首屏加载优化初次数据貌似不是通过上面的请求获取的,可行的解决方法是首屏加载完成后自动点击一次换一换来过滤首次的广告(

脚本插件 | 仓库