Chrome(Edge)使用油猴过滤百度垃圾搜索结果
百度搜索出来很多结果,点进去很多自己不想看到的结果,以下是使用油猴插件加自定义脚本移除垃圾搜索结果的实例
下载油猴
先打开插件商店:chrome插件商店 或者 edge 扩展商店, 搜索 tampermonkey
, 找安装数量最多的哪个就是了
chrome
edge
添加自定义脚本
- 进入油猴
管理面板
- 点击右边的 + 添加新脚本
- 把下面代码贴进去
// ==UserScript==
// @name Baidu_Search_Result_Filter
// @author dlee
// @version 1.0
// @description Block/Filter Baidu search results, which is contained some specific items_(en)
// @match https://www.baidu.com/*
// @namespace https://greasyfork.org/zh-CN/users/676366-kyouichirou
// @grant none
// ==/UserScript==
(function() {
'use strict';
console.log("location.hostname:",location.hostname)
// 过滤关键字在这里更改,这里我过滤了csdn的垃圾推荐等
const blankList = "csdn已为您找到|术之多|bbsmax|oschina.net|腾讯云计算|51CTO博客";
const noBlankList = "csdn博客";
let iTems = blankList.split("|");
let saveItems = noBlankList.split("|");
let ilength = iTems.length + 1;
let jlength = saveItems.length + 1;
let removeTimer = null;
document.body.addEventListener("DOMNodeInserted", debounceRemove);
function debounceRemove() {
if (removeTimer) {
clearTimeout(removeTimer)
}
removeTimer = setTimeout(() => {
removeitems()
}, 30)
}
function removeitems() {
let sDom = document.getElementById("content_left");
if (sDom == null) return;
sDom = sDom.getElementsByClassName("c-container");
if (sDom == null) return;
let i = sDom.length;
if (i === 0) return;
i--;
let p = 0;
for (i; i >= 0; i--) {
let stext = sDom[i].innerHTML;
for (let k = 0; k < ilength; k++) {
if (stext.includes(iTems[k]) === true) {
let mark0 = false;
for (let j = 0; j < jlength; j++) {
if(stext.includes(saveItems[j]) == true) {
mark0 = true;
}
}
if(!mark0){
p++;
sDom[i].remove();
break;
}
}
}
}
if (p === 0) {
return;
} else if (p > 0 && p < 5) {
removetips(0);
} else {
removetips(1); //如果多个过滤, 则搜索相关则无价值, 屏蔽
}
function removetips(x) {
let sTable = document.getElementsByTagName("table");
if (sTable == null) return;
let m = sTable.length;
if (m === 0) return;
m--;
if (x === 1) {
sTable[m].hidden = true;
return;
}
let rTable = sTable[m].getElementsByTagName("th");
m = rTable.length;
if (m < 1) return;
for (let i = 0; i < m; i++) {
let stext = rTable[i].innerText;
for (let k = 0; k < ilength; k++) {
//为了避免其他元素的位置发生变化, 设置全透明
if (stext.includes(iTems[k]) === true) {
rTable[i].style.opacity = 0;
break;
}
}
}
}
}
})();
评论区