多年来,我习惯于用百度搜索来查找资料,关注热点讯息。

然而搜索结果中总是会出现一些广告,和不想看到的内容。

自从学了JavaScript脚本语言,我尝试着自己写了段代码,果然好用,问题迎刃而解。

此代码目前实现的功能:

    屏蔽搜索结果出现的所有推广,包括左栏、右栏广告以及延时广告

使用前↑

  

使用后↑

      对搜索结果进行关键词过滤,移除不想看到的内容

    比如,我不想看到百度招聘,然而它总是出现:

使用前

使用后↑打工是不可能打工的,这辈子不可能打工٩( 'ω&#​39; )و

    我也不想看到有关星座运势、解梦的内容:

使用前↑

使用后↑

    还可以对搜索结果出现的【词语】进行替换(而不是屏蔽整条结果),此功能仅供娱乐

词语替换↑

至此,搜索结果已经做到清爽干净,基本符合预期

cut-off

然而我还实现了几个附加的小功能,如

    热点资讯的文字完全显示,再也不用点进去才能看全标题

或什么?被什么?↑

使用后↑

    结果数文字醒目显示

结果数文字↑

    恢复了某些搜索词“根据相关法律法规和政策,部分搜索结果未予显示”这行文字,仅供娱乐

未予显示↑

未予显示↑

    点击所有链接,不弹出新窗口

RT

    多彩背景图,每搜索一次都会自动随机换一张背景图【靓!】

    

背景图随机换↑

背景图随机换↑

背景图随机换↑

    搜索结果强行50条,少翻页

    

使用前↑

使用后↑

还有对图标和按钮文字替换等等,以上是这个脚本的全部功能。

cut-off

代码如下:

代码↑

/*名不好就受气作品*/ if(document.URL.substring(0, 24) === 'https://www.baidu.com/s?') {     onload = function () {         "use strict";         if(!/[^a-zA-Z0-9_]rn=50/.test(document.URL) || !/[^a-zA-Z0-9_]tn=/.test(document.URL)) {             /*var u = document.URL.replace(/([\?&])(rn=[^=&\?#\s]*[&#$])/, '$1').replace(/(\/s\?)/i, '$1rn=50&');*/             var wd = (document.URL + '#').match(/[^a-zA-Z0-9_](wd|word)=([^!#&]+)[!#&]/i)[2];             var u = 'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=2&tn=baiduhome_pg&wd=' + wd + '&ct=1&rn=50&rsv_spt=1&rsv_pq=a51dd4eb15527649518&rsv_t=214fnSsdvmqfBfbKGGp%2FOKeu8c%2ByfzVhMkZZGePHO0iYISCNowaiiabDtMaN0N3q2uJE&rqlang=cn&rsv_enter=0&rsv_dl=tb&rsv_sug3=2&rsv_sug1=2&rsv_sug7=100&bs=%E5%A5%B3%E7%88%B7%E4%BB%AC';             location.replace(u);             return;         }         /*alert('脚本开始!');*/         window.mbhjsq = {             /*函数开始↓*/             modification: function () {                     mbhjsq.t_start = new Date().getTime();                     /*重复修改不允许↓*/                     if('rgb(255, 255, 255)' == String($('.nums_text').css('color'))) {                         return;                     }                     /*捕获↓*/                     var bd = $('#content_left>*,#content_right>*');                     /*不想要的结果↓*/                     var b = /百聘|解梦|_好房365|_solarF阳光网|环球信息网|唯象娱乐网|运势/;                     for(var i = 0, l = bd.length; i < l; i++) {                         var bd_i = bd.eq(i);                         if(b.test(bd_i.text()) || bd_i.find('[data-tuiguang]').length > 0) {                             bd_i.remove();                             continue;                         }                         /*替换文字↓*/                         bd_i.html(function (x, y) {                             var newy = y.replace(/好看([^好看视频]*)视频/g, '难看$1视频').replace(/-完整版视频在线观看|.高清完整正版视频在线观看|是[\S\s]{2,6}高清视频./g, '');                             if(newy !== y) {                                 /*alert(newy);*/                                 return newy;                             }                         });                     }                     /*修改结果数的字体↓*/                     $('.nums_text').css({                         color: '#ffffff',                         fontSize: '120%',                         fontWeight: 'bold',                         backgroundColor: '#000'                     });                     /*修改热词字体↓*/                     $('.opr-toplist1-table a').css({                         fontSize: '80%'                     });                     /*延时广告↓*/                     setTimeout(function () {                         $('.c-container:has(.f13>span:contains(广告))').remove();                         $('.ad-widget').css({                             visibility: 'hidden'                         });                     }, 2100);                     /*修改单条结果背景↓*/                     $('.c-container,.cr-title,.opr-recommends-merge-img-titleline-height,.opr-toplist1-link').not('div:contains(其他人还在搜)').css({                         backgroundColor: 'rgba(255,255,255,0.9)'                     });                     /*链接当前窗口↓*/                     $('a[href^="/"],a[href^="http"]').attr('target', '_self');                     /*隐藏失效按钮和百度保障↓*/                     $('.toplist-refresh-btn,.opr-recommends-merge-more-btn,.hint_right_middle').hide();                     /*未予显示*/                     if(!/百度热/.test($('#content_right').text())) {                         $('#content_left').prepend('<strong>根据相关法律法规和政策,部分搜索结果未予显示😐</strong>');                     }                     $('#su').val(bd_i.jquery);                     if(mbhjsq.img_src === undefined) {                         mbhjsq.img_src = [];                     }                     if(mbhjsq.img_src.length === 0) {                         mbhjsq.img_src = ['https://dss1.bdstatic.com/kvoZeXSm1A5BphGlnYG/skin_zoom/117.jpg?2#百度首页绿地', 'https://dss2.bdstatic.com/kfoZeXSm1A5BphGlnYG/skin/209.jpg?2#百度首页杨幂'];                     }                     var random_num = Math.floor(Math.random() * mbhjsq.img_src.length);                     /*主背景图↓*/                     var im = mbhjsq.img_src.splice(random_num, 1)[0];                     $('#wrapper').css({                         backgroundImage: 'url("' + im + '")'                     });                     mbhjsq.t = new Date().getTime() - mbhjsq.t_start;                     document.title += ' ' + mbhjsq.t + 'ms';                 },                 img_src: []         };         /*↑函数(对象)结束,修改Logo↓*/         $('#result_logo').attr({             href: 'javascript:;',             onmousedown: 'mbhjsq.modification(\'click_logo\')'         }).html('<img src="https://wx3.sinaimg.cn/large/0087sbXcly1ghrdxh7uljj30b803ot8z.jpg">');         $('#wrapper').css({             backgroundAttachment: 'fixed',             backgroundRepeat: 'repeat',             backgroundSize: 'contain'         });         /*注册ajax响应事件↓*/         $(document).ajaxSuccess(function (e, xhr, opt) {             if(/\/s\?/.test(opt.url)) {                 /*alert('开始modification');*/                 mbhjsq.modification('ajax');             }         });         /*运行一次↓*/         mbhjsq.modification('start');     }; }

现有BUG、缺陷

    脚本会导致右边的“展开”和“换一换”按钮点击没反应,原因不明,我排查了n久,无法解决,索性将它们隐藏,眼不见心为净。

    脚本偶发无效,此情况请刷新网页(极少见)

    “品牌广告”暂时无法剔除。

技术和版权问题

    据我观察,百度搜索原生自带了jQuery库,是1.10版的,拿过来直接用即可,我看到有的脚本重新引入一遍jQuery库,我认为这完全没有必要。

    

借鉴了此作品↑

    使用方法:Via浏览器:菜单→设置→脚本,点添加,粘贴进去。

    

配图来源喵魂↑

    本代码本人自测月余,未发现重大明显BUG,有问题请留言反馈。

以上。

       by名不好就受气  Fri Sep 15527649518:29:21 GMT+0800 (CST)

        15527649518更新内容:

逻辑修改:捕获、遍历页面内容只遍历一次,相比之前的多次捕获遍历页面内容,大大加快执行速度;

增加了标题栏执行耗时显示;

隐藏“百度保障为您搜索护航”和“想在此推广您的商品吗”(有时候不太好使);

淡化“其他人还在搜”;

样式微调;

增加了手机版自动跳转电脑版(只限/s?开头)。