BiliBili哔哩哔哩推荐关键词屏蔽

BiliBili哔哩哔哩屏蔽与相应关键词有关的视频与直播

目前为 2020-06-01 提交的版本。查看 最新版本

// ==UserScript==
// @name BiliBili哔哩哔哩推荐关键词屏蔽
// @description BiliBili哔哩哔哩屏蔽与相应关键词有关的视频与直播
// @namespace https://space.bilibili.com/482343
// @author 超神越鬼
// @license 超神越鬼
// @version 2.7
// @include *bilibili.com*
// @exclude *message.bilibili.com*
// @run-at document-end
// @grant GM_setValue
// @grant GM_getValue
// @noframes
// ==/UserScript==
//dd 都屏蔽, bt 只屏蔽标题, zz 只屏蔽up主  在这里添加,运行一次后会保存,在存储里修改删除。 ("","","","","");
var dd = new Array("","","","","");
var bt = new Array("","","","","");
var zz = new Array("","","","","");
var i,c,fl,fk,x,debugx = 1,a,b;
var toObj = function( arr ){ var obj = {}; for(var temp in arr){ obj[arr[temp]] = true; } return obj;};
var toArr = function( obj ){ var arr = []; for(var temp in obj){ arr.push(temp); } return arr;};
var together = function( a,b ){ for(var temp in b){ if(b[temp]!=null && b[temp]!="" && b[temp]!="null" && b[temp].length<40)a.push(b[temp]);}};
var getUniq = function(arr){ return toArr( toObj(arr) );};
var ddx = GM_getValue("dd",new Array(""));
var btx = GM_getValue("bt",new Array(""));
var zzx = GM_getValue("zz",new Array(""));
together(ddx,dd);together(btx,bt);together(zzx,zz);
ddx =getUniq(ddx);btx =getUniq(btx);zzx =getUniq(zzx);
dd = new Array(); bt = new Array(); zz = new Array();
together(dd,ddx);together(bt,btx);together(zz,zzx);
GM_setValue("dd", dd);GM_setValue("bt", bt);GM_setValue("zz", zz);
bt.push.apply(bt,dd);
zz.push.apply(zz,dd);
function sc() {
     for (x in zz) {if(zz[x] != ""){
          //在线列表up主
          fl = document.evaluate('//div[@class="online-list"]/div[@class="ebox"]/div[@class="dlo"]/a[contains(text(),"' + zz[x] + '")]/../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("作者1 ",zz[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          //直播up主
          fl = document.evaluate('//div[@class="live-card"]/a/div[@class="up"]/div[@class="txt"]/p[@class="name" and contains(text(),"' + zz[x] + '")]/../../../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("作者2 ",zz[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="room-ctnr w-100"]/div[@class="room-card-wrapper p-relative dp-i-block"]/a/div[@class="card-info-ctnr"]/div[@class="text-info-ctnr body-bg p-relative dp-i-block v-middle"]/div[@class="room-anchor card-text p-relative"]/span[contains(text(),"' + zz[x] + '")]/../../../../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("作者3 ",zz[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          //视频up主
          fl = document.evaluate('//div[@class="zone-list-box"]/div[@class="video-card-common"]/a[@class="up"]/i[contains(text(),"' + zz[x] + '")]/../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("作者4 ",zz[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="zone-list-box storey-box"]/div[@class="video-card-common"]/a[@class="up" and contains(text(),"' + zz[x] + '")]/..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("作者5 ",zz[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="ext-box"]/div[@class="video-card-common ex-card-common"]/a[@class="ex-up"]/i[contains(text(),"' + zz[x] + '")]/../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("作者6 ",zz[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="ext-box"]/div[@class="video-card-common ex-card-common"]/a[contains(text(),"' + zz[x] + '")]/..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("作者7 ",zz[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="rec-list"]/div[@class="video-page-card"]/div[@class="card-box"]/div[@class="info"]/div[@class="count up"]/a[contains(text(),"' + zz[x] + '")]/../../../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("作者8 ",zz[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="zone-list-box"]/div[@class="article-card"]/div/a[@class="up" and contains(text(),"' + zz[x] + '")]/../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("作者9 ",zz[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//*[@id="reportFirst1"]/div[2]/div/div[1]/a/div/p[@class="up"  and contains(text(),"' + zz[x] + '")]/../../../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("作者10 ",zz[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="groom-box-m clearfix"]/div[@class="groom-module"]/a/div[@class="card-mark"]/p[@class="author"  and contains(text(),"' + zz[x] + '")]/../../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("作者11 ",zz[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
     }}
     for (x in bt) {if(bt[x] != ""){
          //在线列表标题
          fl = document.evaluate('//div[@class="online-list"]/div[@class="ebox"]/a[1]/p[contains(text(),"' + bt[x] + '")]/../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("标题1 ",bt[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          //直播标题
          fl = document.evaluate('//div[@class="live-card"]/a/div[@class="up"]/div[@class="txt"]/p[@class="desc" and contains(text(),"' + bt[x] + '")]/../../../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("标题2 ",bt[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="room-ctnr w-100"]/div[@class="room-card-wrapper p-relative dp-i-block"]/a/div[@class="card-info-ctnr"]/div[@class="text-info-ctnr body-bg p-relative dp-i-block v-middle"]/span[contains(text(),"' + bt[x] + '")]/../../../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("标题3 ",bt[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          //视频标题
          fl = document.evaluate('//div[@class="zone-list-box"]/div[@class="video-card-common"]/a[@class="title" and contains(text(),"' + bt[x] + '")]/..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("标题4 ",bt[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="zone-list-box storey-box"]/div[@class="video-card-common"]/a[@class="title" and contains(text(),"' + bt[x] + '")]/..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("标题5 ",bt[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="ext-box"]/div[@class="video-card-common"]/a[@class="title" and contains(text(),"' + bt[x] + '")]/..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("标题6 ",bt[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="ext-box"]/div[@class="video-card-common"]/a[@class="title"]/span[contains(text(),"' + bt[x] + '")]/../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("标题7 ",bt[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="ext-box"]/div[@class="video-card-common ex-card-common"]/div/a/p[contains(text(),"' + bt[x] + '")]/../../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("标题8 ",bt[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="storey-box clearfix"]/div[@class="spread-module"]/a/p[@class="t" and contains(text(),"' + bt[x] + '")]/../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("标题9 ",bt[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="rec-list"]/div[@class="video-page-card"]/div[@class="card-box"]/div[@class="info"]/a[@class="title" and contains(text(),"' + bt[x] + '")]/../../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("标题10 ",bt[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="zone-list-box"]/div[@class="article-card"]/div/a[@class="title" and contains(text(),"' + bt[x] + '")]/../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("标题11 ",bt[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//*[@id="reportFirst1"]/div[2]/div/div[1]/a/div/p[1 and contains(text(),"' + bt[x] + '")]/../../../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("标题12 ",bt[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }
          fl = document.evaluate('//div[@class="groom-box-m clearfix"]/div[@class="groom-module"]/a/div[@class="card-mark"]/p[@class="title"  and contains(text(),"' + bt[x] + '")]/../../..', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
          if (fl.snapshotLength) {
               for (i = 0; i < fl.snapshotLength; i++) {
                    if (debugx)console.log("标题13 ",bt[x]," : ", fl.snapshotItem(i));
                    fl.snapshotItem(i).remove();
               }
          }

     }}
     //个人页面
     fl = document.querySelectorAll("#submit-video-list > ul.clearfix.cube-list > li > a.title");
     if (fl.length>0) {
          for (i = 0; i < fl.length; i++) {
               a=0;
               for (x in bt) {
                    if(bt[x] != ""){
                         if(fl[i].innerText.indexOf(bt[x])>-1){
                              a=1; break;
                         }
                    }
               }
               if (fl[i].parentElement.style.display!="none" && a==1){
                    if (debugx)console.log("个人页面标题隐藏 ",bt[x]," :",fl[i].innerText);
                    fl[i].parentElement.style.display="none";
               }
               /*if (fl[i].parentElement.style.display=="none" && a==0){
                    if (debugx)console.log("个人页面标题显示    :",fl[i].innerText);
                    fl[i].parentElement.style.display=" ";
               }*/
          }
     }
     //游戏频道推荐
     fl = document.querySelectorAll("div.video-card-box > div > div > a > p.title");
     fk = document.querySelectorAll("div.video-card-box > div > div > a > p:nth-child(5) > span");
     if (fl.length>0) {
          for (i = 0; i < fl.length; i++) {
               a=0;
               for (x in bt) {
                    if(bt[x] != ""){
                         if(fl[i].innerText.indexOf(bt[x])>-1){
                              a=1; break;
                         }
                    }
               }
               if (fl[i].parentElement.style.display!="none" && a==1){
                    if (debugx)console.log("频道推荐标题隐藏 ",bt[x]," :",fl[i].innerText);
                    fl[i].parentElement.style.display="none";
                    continue;
               }
               if (a==0){
                    fk = fl[i].parentElement.querySelector('p:nth-child(5) > span').innerText;
                    for (x in zz) {
                         if(zz[x] != ""){
                              if(fk.indexOf(zz[x])>-1){
                                   a=1; break;
                              }
                         }
                    }
               }
               if (fl[i].parentElement.style.display!="none" && a==1){
                    if (debugx)console.log("频道推荐作者隐藏 ",zz[x]," :",fk);
                    fl[i].parentElement.style.display="none";
                    continue;
               }
               if (fl[i].parentElement.style.display=="none" && a==0){
                    if (debugx)console.log("频道推荐显示    :",fl[i].innerText,"    ",fk);
                    fl[i].parentElement.style.display="block";
               }
          }
     }
     return false;
}
if ((location.href.indexOf("live.bilibili.com")>-1&& location.href.split(".com/")[1].length>0)){return}
if ((location.href.indexOf("video/")>-1&& location.href.indexOf("online.html")<0) || location.href.indexOf("play/")>-1){
     if (debugx)console.log("A 视频播放模式 ",location.href);
     setTimeout(sc,10000);
}else{
     if (debugx)console.log("B 列表模式 ",location.href);
     setTimeout(sc,1500);
     setInterval(sc,4500);
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址