0xlau / biliplus

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

求一个功能,过滤视频时长 #57

Open cel-ti opened 3 months ago

cel-ti commented 3 months ago

初衷是对于过短的视频的一种厌恶心理 (个人阈值差不多是12分钟往上)

实现可以分阶段

  1. 仅主页过滤,实现方法可以参考已存在的换一换回调
  2. 搜索过滤,可只屏蔽时长少于slider的
cel-ti commented 3 months ago

发现有一个现成可以去reference的方法 #46

Mesimpler commented 3 months ago

单论在换一换中实现该功能,和广告不一样短视频在每次轮换中的数量和每个人的大数据推荐相关联,无法预估。 只能依靠将请求视频的 ps 参数最大化来确保过滤掉短视频后视频数量能为10。

我的另外一个担忧是过大的 ps 参数可能会对用户的大数据推荐造成污染。

个人测试过滤视频时长10分钟以下,设定 ps 为30时能有一个良好体验。

const feedNum = 30;

// ...
res.data.item = res.data.item.filter((video) => {
  const isAD = video.id === 0;
  const isShortVid = video.duration < 600; // 单位秒,小于该值的视频将被过滤
  return !(isAD || isShortVid);
});
// ...

你可以修改我之前提供的 换一换广告过滤 脚本插件代码来实现该功能。