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

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

当前为 2020-05-24 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name BiliBili哔哩哔哩推荐关键词屏蔽
// @description BiliBili哔哩哔哩屏蔽与相应关键词有关的视频与直播
// @namespace https://space.bilibili.com/482343
// @author 超神越鬼
// @license 超神越鬼
// @version 2.4
// @include *bilibili.com*
// @exclude *message.bilibili.com*
// @run-at document-end
// @grant GM_setValue
// @grant GM_getValue
// ==/UserScript==
//dd 都屏蔽, bt 只屏蔽标题, zz 只屏蔽up主  在这里添加,运行一次后会保存,在存储里修改删除。
var dd = new Array("","","","","");
var bt = new Array("","","","","");
var zz = new Array("","","","","");
var i,c,fl,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]!="" && 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);
GM_setValue("dd", ddx);GM_setValue("bt", btx);GM_setValue("zz", zzx);
dd=ddx;bt=btx;zz=zzx;
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();
               }
          }
     }}
     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.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=" ";
               }*/
          }
     }
     return false;
}
if (location.href.indexOf("video/")>-1 || location.href.indexOf("play/")>-1){
     if (debugx)console.log("A 视频播放模式 ",location.href);
     setTimeout(sc,10000);
}else{
     if (debugx)console.log("B 列表模式 ",location.href);
     sc;
     setInterval(sc,2000);
}