您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
删除搜索结果中关于百家号与百度视频的内容
// ==UserScript== // @name baijiahao-fucker // @namespace http://tampermonkey.net/ // @include http://www.baidu.com/s* // @include https://www.baidu.com/s* // @description 删除搜索结果中关于百家号与百度视频的内容 // @author LuRenJiasWorld // @grant GM.xmlHttpRequest // @run-at document-end // @version 0.21 // @connect www.baidu.com // ==/UserScript== // 初始化 (function () { fuckBaijiahao(); })(); // 因为百度搜索采用了路由机制,切换搜索词不刷新页面 // 因此在切换搜索词的时候,插件将不再生效,需要定时检测URL是否改变 var urlStore = window.location.href; setInterval(() => { let currentUrl = window.location.href; if (currentUrl !== urlStore) { let interval = setInterval(() => { if ($("#_mask").length !== 1) { fuckBaijiahao(); clearInterval(interval); } }, 10); urlStore = currentUrl; } }, 1000); // 艹百家号 function fuckBaijiahao() { 'use strict'; // 所有搜索结果标签 let tags = $('#content_left a[href^="http://www.baidu.com/link?url="]'); // 聚合搜索结果(包含一部分百家号) let top = $('.c-offset'); // 百度视频 let video = $('.op-short-video-pc'); // 普通计数器 let counter = 0; // 百家号文章计数器 let bjhCounter = 0; // 搜索结果数量 let resultCounter = $(".nums_text"); let resultCounterText = $(".nums_text").text(); // 轮询每个链接,获取链接背后的真实url // 发现URL包含baijiahao,删除之 // 如果是聚合搜索结果,且聚合搜索结果中全是百家号,则删除整个聚合搜索框 tags.each(function (i, v) { let url = $(this).attr('href'); (function (url, currentNode) { url = url.indexOf("eqid") < 0 ? url + "&wd=&eqid=" : url; // 这里不能使用$.ajax(),因为浏览器默认禁止发起修改headers的请求 GM.xmlHttpRequest({ method: "GET", url: url, async: true, headers: { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "Host": "www.baidu.com", "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7", "Pragma": "no-cache", "Cache-Control": "no-cache", "Accept-Encoding": "gzip, deflate, br", "Connection": "keep-alive" }, onload: function (response) { let reg = /URL=['|"]([^'|"]+)/; if (reg.test(response.responseText)) { let realUrl = response.responseText.match(reg)[1]; if (realUrl.indexOf('baijia') !== -1) { bjhCounter ++; // 去除父元素 直接删除该搜索结果 // 针对单独搜索结果 $(currentNode).parents('.c-container').remove(); // 如果『聚合搜索』内容为空,直接删除父元素 // 针对聚合搜索结果 if (!top.children().length) { top.parent().remove(); } } else { // 还原真实地址 // 减小百度采集用户链接点击信息的概率 // 保护隐私,从我做起 $(currentNode).attr('href', realUrl); } resultCounter.text(resultCounterText + ",其中包含" + bjhCounter + "个百家号链接,已全部去除"); } }, }); })(url, this); }); // 记录日志 // 因为上面清除百家号链接是一个异步过程,因此要一直轮询,一直到确定百家号文章数量不再改变,则记录日志 let bjhCounterTmp = bjhCounter; let logCounter = 0; let interval = setInterval(() => { if (bjhCounterTmp !== bjhCounter) { bjhCounterTmp = bjhCounter; } else if (bjhCounter !== 0 && bjhCounterTmp !== 0){ clearInterval(interval); } else if (bjhCounter === 0 && bjhCounterTmp === 0 && logCounter > 20) { // 针对网页内确实没有百家号的情况 // 且时间已经超过四秒钟 clearInterval(interval); } logCounter++; }, 200); // 移除百度视频 if (video.length !== 0) { video.parent().remove(); } }