[自动无缝翻页] B站搜索页 搜索结果数量问题
xxxqq55 opened this issue · 6 comments
xxxqq55 commented
xxxqq55 commented
XIU2 commented
你提的这个我当初在写规则的时候就注意到,并特殊处理了。
这是目前的 B 站搜索页规则:
"bilibili - 搜索页": {
"host": "search.bilibili.com",
"url": "fun.isUrlC(); return ((fun.lp() == '/all' || fun.lp() == '/video' || fun.lp() == '/pgc' || fun.lp() == '/article') && !fun.getCSS('ul.video-list') && !fun.getCSS('#article-list'))",
"style": ".to_hide_md:not(.to_hide_xl) {display: initial !important;}",
"history": true,
"pager": {
"type": 6,
"nextL": "js; return fun.getNextEP('.vui_pagenation--btn-num.vui_button--active+button.vui_pagenation--btn-num','page=',/page=\\d+/)",
"pageE": ".video-list-item,.media-list>div,.video-list>div",
"replaceE": ".vui_pagenation--btns",
"loadTime": 600,
"scrollD": 3000
}
}
规则中有个 "style": ".to_hide_md:not(.to_hide_xl) {display: initial !important;}",
子规则,就是处理你说的这个问题的。
让 Class 含有 .to_hide_md
但又不含有 .to_hide_xl
的强行显示出来,同时含有这两个 Class 的则依旧不显示,因为同时含有的搜索结果元素和下一页的搜索结果重复了(下一页已经存在这几个结果了,不过顺序相比这个是打乱的。)
另外,可能因为搜索结果是排序的原因,所以每次搜索看到的结果内容都略有不同,顺序也会有变化,特别是像 最新发布 排序这种变化更频繁的。如果你触发下次翻页的间隔时间稍长一些,那么对于 Class 含有 .to_hide_md
但又不含有 .to_hide_xl
的搜索结果末尾的一个或两个可能就会被排序挤到第 2 页了,可能会在脚本新插入的第 2 页内容中看到一个或两个重复的,但实际使用过程中,还是很少见的,所以我当初写规则是保留了这个 style
子规则。
总之,目前的规则已经是我当初编写规则研究时得到的最佳方案了,基本没有什么可以优化的空间了。