Greasy Fork is available in English.
快速地找出那些低分评价!
< Σχολιασμός για τον κώδικα 哔哩哔哩(B站)番剧短评区筛选非满分评价
新版本已更新,麻烦问一下现在可以使用吗?
可以使用,就是有点bug
点击一次筛选就只筛选页面上的吗,后面的不能筛选吗
点击一次筛选就只筛选页面上的吗,后面的不能筛选吗
嗯,目前是的,所以还要麻烦一下手动操作了
点击一次筛选就只筛选页面上的吗,后面的不能筛选吗
现在这个版本可以做到点击按钮后立即显示下一页内容,用连点器点的话应该可以实现类似的效果 ( ◑ ﹃ ◐)
好的,我康康能不能一次性把后面的也筛选了,您等一等 🌹
感谢可以了,现在才看见,实在不好意思
顺便给你优化了一下
阿里通义的
要实现您的需求,我们需对原有脚本进行较大修改,不仅移除满分评论,还要根据评价星星数量进行排序。请注意,这样的修改可能较为复杂,因为直接通过DOM操作来实现排序和动态修改可能效率不高且不稳定,特别是当评论数量庞大时。但基于您的要求,我将提供一个简化版的示例思路,用于展示如何结合排序和移除功能。实际应用中,可能还需考虑性能优化及异常处理。
下面是一个简化的示例代码,它尝试实现您的要求。但请注意,这个示例可能需要您根据实际页面结构进一步调试和优化。
```javascript
button1.addEventListener("click", function() {
// 获取所有短评列表项
let reviewListItems = Array.from(document.querySelectorAll("div#app.media-detail-wrp > div.media-tab-wrp > div.media-tab-content > div.media-tab-detail-wrp > div.media-tab-detail-l-wrp > div.media-tab-detail-l > div.media-tab-module-wrp > div.media-tab-module-content > div.mtlr-list-wrp > div.review-list-wrp.type-short > ul > li.clearfix"));
// 过滤掉满分评论并根据星星数量排序
let filteredAndSorted = reviewListItems
.filter(item => !item.querySelectorAll("div.review-author-info > div.review-author-star > span.review-stars > i.icon-star.icon-star-light")[4]) // 移除满分评论
.sort((a, b) => {
// 计算a和b的星星数量,这里假设星星数量是直接通过查询i.icon-star的长度得到的
let starsA = a.querySelectorAll("div.review-author-info > div.review-author-star > span.review-stars > i.icon-star.icon-star-light").length;
let starsB = b.querySelectorAll("div.review-author-info > div.review-author-star > span.review-stars > i.icon-star.icon-star-light").length;
return starsA - starsB; // 升序排序,从1星到5星
});
// 清空原评论列表
let reviewList = document.querySelector("div.review-list-wrp.type-short > ul");
reviewList.innerHTML = '';
// 将过滤排序后的评论重新添加到页面
filteredAndSorted.forEach(item => reviewList.appendChild(item));
});
```
这段代码首先获取所有评论项,然后过滤掉满分评论并对剩余评论按星星数量进行升序排序(即从1星到5星排序)。之后,清空原有的评论列表,将排序后的评论重新添加回去。
**重要提示**:上述代码片段是基于您的需求提供的一个概念性示例,实际应用时可能需要根据B站当前的实际页面结构进行调整,且频繁的DOM操作可能会影响页面性能,特别是在处理大量评论时。此外,B站页面结构的任何更新都可能影响脚本的适用性。因此,建议持续维护和测试以确保脚本的稳定性和兼容性。
button1.addEventListener("click", function() {
// 获取所有短评列表项
let reviewListItems = Array.from(document.querySelectorAll("div#app.media-detail-wrp > div.media-tab-wrp > div.media-tab-content > div.media-tab-detail-wrp > div.media-tab-detail-l-wrp > div.media-tab-detail-l > div.media-tab-module-wrp > div.media-tab-module-content > div.mtlr-list-wrp > div.review-list-wrp.type-short > ul > li.clearfix"));
// 过滤掉满分评论并根据星星数量排序
let filteredAndSorted = reviewListItems
.filter(item => !item.querySelectorAll("div.review-author-info > div.review-author-star > span.review-stars > i.icon-star.icon-star-light")[4]) // 移除满分评论
.sort((a, b) => {
// 计算a和b的星星数量,这里假设星星数量是直接通过查询i.icon-star的长度得到的
let starsA = a.querySelectorAll("div.review-author-info > div.review-author-star > span.review-stars > i.icon-star.icon-star-light").length;
let starsB = b.querySelectorAll("div.review-author-info > div.review-author-star > span.review-stars > i.icon-star.icon-star-light").length;
return starsA - starsB; // 升序排序,从1星到5星
});
// 清空原评论列表
let reviewList = document.querySelector("div.review-list-wrp.type-short > ul");
reviewList.innerHTML = '';
// 将过滤排序后的评论重新添加到页面
filteredAndSorted.forEach(item => reviewList.appendChild(item));
});
优化脚本链接
https://netcut.cn/qw6
感谢可以了,现在才看见,实在不好意思
没关系没关系,我之后就参考您的版本修改,感谢!🌹
用不了,没有按钮