本帖最后由 Thending 于 2022-4-16 19:45 编辑
继上次百度搜索结果过滤时隔近一年左右,百度已做了很多改变,如动态插入广告、!important固定显示样式等,因此原有1.0系列脚本基本失效
我又重新针对其简单开发了下,并增加了必应搜索的过滤
注:和以往一样,为保持插件功能的单一性,我不会增加任何其他功能和其他非主流浏览器的兼容,如果需要请自行开发,源码已经完全公开在这里和码云上
bing-filter.js
[JavaScript] 纯文本查看 复制代码
// ==UserScript==
// @name 必应搜索过滤
// @namespace huelse/js-scripts/bing-filter
// @url [url]https://gitee.com/huelse/js-scripts/blob/master/bing-filter.js[/url]
// @version 1.0.0
// @description 过滤必应搜索结果
// @author THENDINGs
// @require [url]https://unpkg.com/jquery@3.6.0/dist/jquery.min.js[/url]
// @include https://*.bing.com/search*
// @match https://*.bing.com/*
// @icon [url]https://www.bing.com/favicon.ico[/url]
// @grant unsafeWindow
// @license GPL License V3
// ==/UserScript==
(function() {
'use strict';
// 屏蔽关键词列表
const block_list = ['csdn', 'CSDN', '中文网', '广告'];
function center() {
const sbox = document.querySelector('.sbox');
if (sbox) sbox.style.cssText = 'margin:0 auto;position:fixed;left:0;right:0;';
}
function block() {
const item_list = $('.b_algo');
const ad_list = $('.b_algo .b_caption p');
// 屏蔽广告区块
$('.b_ad').css('display', 'none');
// 屏蔽带有广告伪元素标签的
$.each(ad_list, function(idx, el) {
//console.log(el);
const ad_class = $(el).attr('class');
if (ad_class) {
$(el).parents('.b_algo').css('display', 'none');
}
});
// 屏蔽关键词列表
$.each(item_list, function(idx, el) {
const text = el.innerText;
$.each(block_list, function(idx1, el1) {
if (text.includes(el1)) {
$(el).css('display', 'none');
return false;
}
})
});
}
function relink() {
const as = $('#b_results h2 a')
for (let i = 0; i < as.length; i++) {
const url = as[i].href
if (url.includes('bing.com/ck/a')) {
$.get(url, function(data) {
const r = /var u = "(.*)";/.exec(data)
if (r && r[1]) {
as[i].href = r[1].replace(/[\?\&]+msclkid=.*/, '')
}
})
}
}
}
$(function() {
center();
block();
relink();
});
})();
baidu-filter.js
[JavaScript] 纯文本查看 复制代码
// ==UserScript==
// @name 百度搜索过滤
// @namespace huelse/js-scripts/baidu-filter
// @url [url]https://gitee.com/huelse/js-scripts/blob/master/baidu-filter.js[/url]
// @version 2.0.1
// @description 在block_list中添加你想过滤的关键词,世界都将清净了
// @author THENDINGs
// @require [url]https://unpkg.com/jquery@3.6.0/dist/jquery.min.js[/url]
// @include [url]https://www.baidu.com/s[/url]*
// @match [url]https://www.baidu.com/[/url]*
// @icon [url]https://www.baidu.com/favicon.ico[/url]
// @grant unsafeWindow
// @license GPL License V3
// ==/UserScript==
(function() {
'use strict';
// 屏蔽关键词列表
const block_list = ['baijiahao', 'CSDN', '广告'];
function block() {
setTimeout(function() {
const results = $('#content_left > div');
for (let i = 0; i < results.length; i++) {
const result = $(results[i]);
// 删除块广告
if (!result.attr('mu')) {
result.remove();
} else {
// 删除关键词
const labels = $(results[i]).find('.c-row.c-gap-top-xsmall');
for (let k = 0; k < labels.length; k++) {
const elText = labels[k].innerText;
for (let j = 0; j < block_list.length; j++) {
if (elText.includes(block_list[j])) {
result.remove();
break;
}
}
}
}
}
}, 100);
}
function relink() {
setTimeout(function() {
const as = $('#content_left a');
for (let i = 0; i < as.length; i++) {
const cl = as[i].className.replace(/[\r\n\ ]/g, '');
if (!cl || cl.length < 1) {
let url = as[i].href.replace('http://', 'https://');
if (!url.includes('eqid=')) url += '&wd=&eqid=';
if (/\:\/\/www.baidu.com(?!\/s)/.test(url)) {
$.get(url, function(data) {
const real_url = /URL='(.+)'">/.exec(data);
if (real_url && real_url[1]) {
if (real_url[1].includes('baijiahao')) {
$(as[i]).parents('.result').remove();
} else {
as[i].href = real_url[1];
}
}
})
}
}
}
}, 200);
}
document.querySelector('#wrapper_wrapper').addEventListener("DOMNodeInserted", function (e) {
if (e.target.id == 'container') {
block();
relink();
}
if (e.target.id == '1') {
block();
}
});
$(function() {
block();
relink();
});
})();
安装链接:
必应搜索过滤-https://greasyfork.org/zh-CN/scripts/443105
百度搜索过滤-https://greasyfork.org/zh-CN/scripts/427392
过滤关键词可自行在block_list中增减,记得要ctrl+s保存后刷新搜索页才有效
如果发现全被屏蔽了,那可能搜索词条中有关键词在block_list中,自行调整即可
如果还有问题,留言评论你的搜索关键词,最好带上截图
如果好用的话,欢迎给个免费的评分哦~
|