吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 22904|回复: 521
收起左侧

[原创源码] 【油猴脚本】屏蔽百度搜索结果v1.9

    [复制链接]
Thending 发表于 2021-6-2 19:30
本帖最后由 Thending 于 2021-6-8 18:35 编辑

最近实在忍受不了百度低劣的搜索结果,网上找了找没找到简洁又单一的好脚本(可能没看到),于是决定自己写一个
屏蔽关键词就是百度搜索结果的脚标,理论上是能把部分广告也能屏蔽的,还有百家号
可能已经有其他作者写过了,但目前认为我写的这个代码比较精简,保证了功能单一性
代码如下:
[JavaScript] 纯文本查看 复制代码
// ==UserScript==
// @name         百度搜索结果过滤
// @namespace    [url]https://gitee.com/huelse/baidu-filter[/url]
// @version      1.9
// @description  在下方block_list中添加你想过滤的网站,世界都将清净了
// @author       THENDINGs
// @include      [url]https://www.baidu.com/s[/url]*
// @match        [url]https://www.baidu.com/[/url]*
// @icon         [url]https://www.baidu.com/favicon.ico[/url]
// @license      GPL License
// ==/UserScript==

(function() {
    'use strict';

    // 屏蔽列表(默认为搜索结果的脚标)
    const block_list = ['广告', 'CSDN', '脚本之家', '百度知道', '百度经验', '腾讯云', '阿里云', '达内', '搜索智能聚合', 'zzvips', 'tedu', 'imooc', 'csdn', 'b2b', 'voidcn'];

    // 屏蔽关键词
    function block() {
        const arr = Array.from(new Set($('#content_left a span').get().concat($('#content_left span.c-color-gray').get(), $('#content_left a.c-color-gray').get(), $('#content_left a.c-showurl').get())));
        $.each(arr, function(idx, el) {
            const container = $(el).parents('.c-container');
            $.each(block_list, function(index, ele) {
                if (el.innerText.indexOf(ele) !== -1 && container.css('display') !== 'none') {
                    container.css('display', 'none');
                    // console.log('屏蔽: ' + el.innerText + ' ' + el.href);
                }
            });
        });
    }

    // 获取有效链接
    function relink() {
        const a = $('#content_left a');
        let visited = [];
        $.each(a, function(idex, el) {
            const container = $(el).parents('.c-container');
            if (container.css('display') === 'none') return;
            // 屏蔽百家号1
            if (el.href.includes('baijiahao')) {
                container.css('display', 'none');
                // console.log('屏蔽百家号1: ' + el.href);
                return;
            }
            // 过滤图片
            if (el.className.includes('img')) return;
            // 只匹配://www.baidu.com且不带/s的域名
            if (!/\:\/\/www.baidu.com(?!\/s)/.test(el.href)) return;
            // 避免重复请求
            if (visited.indexOf(el.href) !== -1) return;
            else visited.push(el.href);
            let url = el.href.replace('http://', 'https://');
            // 带上eqid参数
            if (!url.includes('eqid')) url += '&wd=&eqid=';
            $.get(url, function(data) {
                const real_url = /URL='(.+)'">/.exec(data);
                if (real_url && real_url[1]) {
                    el.href = real_url[1];
                    // 屏蔽百家号2
                    if (real_url[1].includes('baijiahao') && container.css('display') !== 'none') {
                        container.css('display', 'none');
                        // console.log('屏蔽百家号2: ' + el.href);
                    }
                }
            });
        });
    }

    // 屏蔽热搜榜
    function hot() {
        $('#content_right').css('display', 'none');
    }

    // 屏蔽相关搜索
    function rs() {
        $('#rs').css('display', 'none');
        $('.c-container[tpl="recommend_list"]').css('display', 'none');
    }

    // 监听事件,兼容AC-baidu
    function listen() {
        if(!document.querySelector('#content_left')) return;
        document.querySelector('#content_left').addEventListener("DOMNodeInserted", function (e) {
            if (!e.target || !e.target.className || !e.target.className.includes('c-container') ) return;
            const container = $(e.target);
            const a = container.find('a');
            let visited = [];

            $.each(a.get().reverse(), function(index, el) {
                // 过滤图片
                if (el.className.includes('img')) return;
                // 目标屏蔽标签=block()
                if (el.className.includes('c-color-gray')) {
                    $.each(block_list, function(index, ele) {
                        if (container.css('display') !== 'none' && el.innerText.indexOf(ele) !== -1) {
                            container.css('display', 'none');
                            // console.log('屏蔽: ' + el.innerText + ' ' + el.href);
                        }
                    });
                }
                // 标题链接获取真实链接=relink()
                else if (el.className.length === 0) {
                    if (container.css('display') === 'none') return;
                    // 屏蔽百家号1
                    if (el.href.includes('baijiahao')) {
                        container.css('display', 'none');
                        // console.log('屏蔽百家号1: ' + el.href);
                        return;
                    }
                    // 只匹配://www.baidu.com且不带/s的域名
                    if (!/\:\/\/www.baidu.com(?!\/s)/.test(el.href)) return;
                    // 避免重复请求
                    if (visited.indexOf(el.href) !== -1) return;
                    else visited.push(el.href);
                    let url = el.href.replace('http://', 'https://');
                    // 带上eqid参数
                    if (!url.includes('eqid')) url += '&wd=&eqid=';
                    $.get(url, function(data) {
                        const real_url = /URL='(.+)'"/.exec(data);
                        if (real_url && real_url[1]) {
                            el.href = real_url[1];
                            // 屏蔽百家号2
                            if (real_url[1].includes('baijiahao') && container.css('display') !== 'none') {
                                container.css('display', 'none');
                                // console.log('屏蔽百家号2: ' + el.href);
                            }
                        }
                    });
                }
            });
        }, false);
    }

    // 兼容百度async
    document.querySelector('#wrapper_wrapper').addEventListener("DOMNodeInserted", function (e) {
        if (e.target.id === 'container') {
            rs();
            hot();
            block();
            relink();
        }
    });

    // 启用功能
    $(function() {
        rs();
        hot();
        block();
        relink();
        listen();
    });
})();


安装链接:
https://greasyfork.org/

https://openuserjs.org/

务必通过上述其中一个链接安装代码,上面的代码可能会因为错误的格式化而失效

如果有更新也会在上述链接最先发,有油猴插件的可以直接进入安装
可以自己添删屏蔽关键词,失效了或有其他问题,欢迎留言告知~
如果觉得好用,给个免费的评分哦
感谢各位坛友的反馈,从1.8版开始应该进入了稳定期,如果觉得卡可注释掉151行的listen()函数
为什么不用其他搜索?都用,但有些时候还是需要百度

更新日志:

https://greasyfork.org/versions

点评

非常支持,全民屏蔽百度这个垃圾  发表于 2021-6-5 15:11

免费评分

参与人数 263吾爱币 +245 热心值 +241 收起 理由
KDGLC + 1 + 1 谢谢@Thanks!
直抒胸臆 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
丶空 + 1 谢谢@Thanks!
waitoa + 1 谢谢@Thanks!
呆呆小逗坑 + 2 + 1 谢谢@Thanks!
Jesse_Hu + 1 谢谢@Thanks!
ynjsdz + 1 + 1 鼓励转贴优秀软件安全工具和文档!
爱吃团子 + 1 + 1 谢谢@Thanks!
倾衫 + 1 + 1 用心讨论,共获提升!
夏目的猫 + 1 + 1 我很赞同!
凌长天 + 1 + 1 热心回复!
有声皆苦 + 1 + 1 谢谢@Thanks!
别杀鸡 + 1 + 1 吔屎了 百度!
chengxiqi3 + 1 + 1 谢谢@Thanks!
chb378 + 1 我很赞同!
konbar + 1 + 1 谢谢@Thanks!
lolidepeppy + 1 + 1 我很赞同!
henryshao + 1 + 1 谢谢@Thanks!
techaos + 1 + 1 谢谢@Thanks!
aighsn + 1 我很赞同!
ZAUTISTIC + 1 + 1 谢谢@Thanks!
spiderxxx + 1 + 1 热心回复!
newyun + 1 + 1 最可怕的还是下载器
geleisisisi + 2 + 1 热心回复!
shiina0831 + 1 + 1 谢谢@Thanks!
52poeji131 + 1 + 1 我很赞同!
刘德山 + 1 + 1 我很赞同!
青夕于 + 1 + 1 热心回复!
wo952512065 + 1 + 1 谢谢@Thanks!
笨笨家的唯一 + 1 我很赞同!
zwgleon + 1 + 1 热心回复!
huangyongwen + 1 + 1 我很赞同!
cxfzaysb + 1 + 1 谢谢@Thanks!
lyh122 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
haiyangnanzi + 1 + 1 谢谢@Thanks!
zz110 + 1 + 1 我很赞同!
ForeverAng + 1 + 1 我很赞同!
哈熊 + 1 + 1 我很赞同!
Luna_n + 1 + 1 谢谢@Thanks!
kk52140 + 1 + 1 热心回复!
汐渚之月 + 1 + 1 谢谢@Thanks!
djy597060921 + 2 + 1 我很赞同!
蓬勃向上 + 1 + 1 我很赞同!
姚小凌龙 + 1 我很赞同!
红尘氵梦 + 1 + 1 我很赞同!
gongyugang + 1 + 1 谢谢@Thanks!
wqx520 + 1 谢谢@Thanks!
smallchop + 1 + 1 我很赞同!
a12333 + 1 热心回复!
阿木木!! + 1 + 1 谢谢@Thanks!
cool1000 + 1 + 1 我很赞同!
dhpeng136 + 1 这个真好,多谢了。
zxcvb1234363 + 1 + 1 我很赞同!
一花依世界 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
junjuncc + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wushijieqw + 1 + 1 拒绝百度广告
aaable + 1 + 1 我很赞同!
上官流云 + 1 + 1 拒绝百度广告
95428 + 1 + 1 谢谢@Thanks!
天之鹏 + 1 谢谢@Thanks!
ccnisme + 1 谢谢@Thanks!
quirrle + 1 我很赞同!
lichu_2004 + 1 + 1 谢谢@Thanks!
叶樱枫 + 1 + 1 谢谢@Thanks!
念天悠 + 1 + 1 用心讨论,共获提升!
烧饼馒头包子 + 1 谢谢@Thanks!
pdcba + 1 + 1 我很赞同!
Smoothies + 1 + 1 谢谢@Thanks!
仙圣 + 1 + 1 已经有greasyfork.org/zh-CN/scripts/375934
ZZF1949 + 1 + 1 谢谢@Thanks!
hamxbb + 1 + 1 热心回复!
lyricsaya + 1 + 1 热心回复!
Donmissher + 1 + 1 我很赞同!
zmllxh + 1 + 1 谢谢@Thanks!
Pandolar + 2 + 1 热心回复!
焦糖果粒 + 1 + 1 谢谢@Thanks!
junyangair + 1 谢谢@Thanks!
MH1031 + 1 + 1 我很赞同!
zw4218719 + 1 + 1 我很赞同!
zhishasanlei + 1 + 1 谢谢@Thanks!
szqever + 1 + 1 谢谢@Thanks!
xinsun0115 + 1 + 1 谢谢@Thanks!
純白p + 1 + 1 谢谢@Thanks!
freeqd + 2 + 1 我很赞同!屏蔽百度垃圾
Happpiday + 1 + 1 谢谢@Thanks!
fillall + 1 + 1 我很赞同!
dasima123 + 1 + 1 我很赞同!
lljllj + 1 + 1 谢谢@Thanks!
Chyyyyy + 1 用心讨论,共获提升!
cmd360 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
nakasou + 1 + 1 热心回复!
EliVenom + 1 + 1 热心回复!
detectiveke + 1 + 1 热心回复!
等候 + 1 + 1 谢谢@Thanks!
sunjuny + 1 + 1 热心回复!
tevins + 1 谢谢@Thanks!
test071b22c + 1 + 1 谢谢@Thanks!
实验室 + 1 + 1 谢谢@Thanks!
55506005 + 1 + 1 未能按照本版块发帖要求发帖,请仔细阅读本版块版规再发帖,谢谢理解!
婆婆丁 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

慵懒丶L先森 发表于 2021-6-4 00:01
感谢分享,虽然之前就用过一款脚本了,不过效果不怎么理想,试试你的。另外可以提个建议吗,就是针对搜索出来的这些结果中添加一个加入黑名单的功能(针对某一个链接的),打个比方,比如我之前就搜索过一个关键词然后进行检索,出现了10个结果,其中的3个结果我早前已经点开里边网页的内容了(并不是我要找的内容),然后就是把这检索出来的3个网页链接加入黑名单中,下一次检索时,搜索结果就不会再包含出现这3个结果了。我是有这么一个需求,不知道有没有其他人也有这种需求,当然只是个人建议而已,实现起来可能不太现实
ARtcgb 发表于 2021-6-2 21:00
macOS + Chrome 测试发现每次都需要重新刷新页面才能过滤结果,刷新前是未过滤结果,刷新后可以过滤结果。
zzyyqab 发表于 2021-6-2 19:47
Escalator 发表于 2021-6-2 19:46
大佬厉害,收藏了
bsjasd 发表于 2021-6-2 19:50
多谢楼主分享
szxizhijiang 发表于 2021-6-2 19:54
发现没效果,CSDN,太平洋结果还是一样出现
 楼主| Thending 发表于 2021-6-2 19:55
szxizhijiang 发表于 2021-6-2 19:54
发现没效果,CSDN,太平洋结果还是一样出现

是通过https://greasyfork.org/scripts/427392安装的吗?吾爱论坛对代码格式化有问题
drawning 发表于 2021-6-2 19:57
试试效果,先谢谢
jjl 发表于 2021-6-2 20:04
感谢分享,试试看好用不
四月份 发表于 2021-6-2 20:04
太棒了。
lotus136 发表于 2021-6-2 20:11
白嫖百度文库有么?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2021-7-29 13:14

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表