找回密码
 立即注册
查看: 3152|回复: 6

【油猴脚本】动漫花园页面净化+屏蔽指定资源

4

主题

14

回帖

0

VC币

白金会员

Rank: 12Rank: 12Rank: 12

积分
54581
千城忆梦 发表于 2022-10-19 23:37:18 | 显示全部楼层 |阅读模式
先放代码,代码简介在最后:



  1. // ==UserScript==
  2. // [url=home.php?mod=space&uid=14588]@Name[/url]        动漫花园净化(首页+)
  3. // @namespace   Violentmonkey Scripts
  4. // @match       https://share.dmhy.org/
  5. // @match       https://share.dmhy.org/topics/list/page/*
  6. // @grant       none
  7. // @version     1.0
  8. // @AuThor      RoachLin
  9. // @description 2022/9/30 00:00:00
  10. // ==/UserScript==

  11. (function() {
  12.         //浏览器使用uBlock Origin插件实现去广告功能

  13.         //右上角链接
  14.         var a = document.getElementsByClassName("links");
  15.         var b = a[0].firstElementChild;
  16.         for (var i = 1; i <= 7; ++i) {
  17.                 b.nextElementSibling.remove();
  18.         }

  19.         //右上角“联盟+”
  20.         document.getElementById("expand-button").remove();

  21.         //顶部“新番资源索引”栏
  22.         document.getElementById("mini_jmd").remove();

  23.         //表格上方“张贴分享”+滚动文字
  24.         var a = document.getElementsByClassName("clear");
  25.         a[1].remove();

  26.         //表格内部顶栏左边
  27.         var a = document.getElementsByClassName("fl");
  28.         for (var i = a.length - 1; i >= 0; --i) {
  29.                 a[i].remove();
  30.         }

  31.         //表格内部顶栏右边
  32.         var a = document.getElementsByClassName("fr");
  33.         a[0].firstElementChild.remove();
  34.         a[0].firstElementChild.remove();

  35.         //表头“磁鏈”
  36.         var a = document.getElementsByClassName("{sorter: false}");
  37.         for (var i = a.length - 1; i >= 0; --i) {
  38.                 a[i].remove();
  39.         }

  40.         //表头“種子”
  41.         var a = document.getElementsByClassName("{sorter: 'digit', sortInitialOrder: 'desc'} header");
  42.         for (var i = a.length - 1; i >= 0; --i) {
  43.                 a[i].remove();
  44.         }

  45.         //表头“下載”
  46.         var a = document.getElementsByClassName("{sorter: 'digit', sortInitialOrder: 'desc'} header");
  47.         for (var i = a.length - 1; i >= 0; --i) {
  48.                 a[i].remove();
  49.         }

  50.         //表头“完成”
  51.         var a = document.getElementsByClassName("{sorter: 'digit', sortInitialOrder: 'desc'} header");
  52.         for (var i = a.length - 1; i >= 0; --i) {
  53.                 a[i].remove();
  54.         }

  55.         //表项“磁鏈”
  56.         var a = document.getElementsByClassName("download-arrow arrow-magnet");
  57.         for (var i = a.length - 1; i >= 0; --i) {
  58.                 var self = a[i].parentElement;
  59.                 var parent = self.parentElement;
  60.                 parent.removeChild(self);
  61.         }

  62.         //表项“種子”
  63.         var a = document.getElementsByClassName("btl_1");
  64.         for (var i = a.length - 1; i >= 0; --i) {
  65.                 var self = a[i].parentElement;
  66.                 var parent = self.parentElement;
  67.                 parent.removeChild(self);
  68.         }

  69.         //表项“下載”
  70.         var a = document.getElementsByClassName("bts_1");
  71.         for (var i = a.length - 1; i >= 0; --i) {
  72.                 var self = a[i].parentElement;
  73.                 var parent = self.parentElement;
  74.                 parent.removeChild(self);
  75.         }

  76.         //表格背景色变蓝
  77.         var a = document.querySelectorAll("tr.odd");
  78.         for (var i = 0; i < a.length; ++i) {
  79.                 a[i].className = "even";
  80.         }

  81.         //表项“完成”
  82.         var a = document.querySelectorAll("tr.even");
  83.         for (var i = a.length - 1; i >= 0; --i) {
  84.                 var self = a[i].lastElementChild.previousElementSibling;
  85.                 var parent = self.parentElement;
  86.                 parent.removeChild(self);
  87.         }

  88.         //底部“善意提醒”和“重要聲明”
  89.         var a = document.getElementsByClassName("table");
  90.         a[1].remove();
  91.         a[1].remove();

  92.         //底部信息
  93.         var a = document.getElementById("1280_ad");
  94.         a.lastElementChild.remove();
  95.         a.lastElementChild.remove();
  96.         a.lastElementChild.remove();
  97. })();
复制代码

  1. // ==UserScript==
  2. // @name        动漫花园净化(资源详情页)
  3. // @namespace   Violentmonkey Scripts
  4. // @match       https://share.dmhy.org/topics/view/*_.html
  5. // @grant       none
  6. // @version     1.0
  7. // @author      RoachLin
  8. // @description 2022/9/30 00:00:00
  9. // ==/UserScript==

  10. (function() {
  11.         //浏览器使用uBlock Origin插件实现去广告功能

  12.         //右上角链接
  13.         var a = document.getElementsByClassName("links");
  14.         var b = a[0].firstElementChild;
  15.         for (var i = 1; i <= 7; ++i) {
  16.                 b.nextElementSibling.remove();
  17.         }

  18.         //右上角“联盟+”
  19.         document.getElementById("expand-button").remove();

  20.         //顶部“新番资源索引”栏
  21.         document.getElementById("mini_jmd").remove();

  22.         //主体上方“张贴分享”+滚动文字
  23.         var a = document.getElementsByClassName("clear");
  24.         a[1].remove();

  25.         //左侧“熱門資源”
  26.         var a = document.getElementsByClassName("topics_cult box ui-corner-all nocontent");
  27.         for (var i = a.length - 1; i >= 0; --i) {
  28.                 a[i].remove();
  29.         }
  30.         var a = document.getElementsByClassName("user-sidebar");
  31.         a[0].lastElementChild.remove();

  32.         //主体右上角“種子下載”、“在线播放”、“訪客互動”和“另類分享”
  33.         var a = document.getElementsByClassName("info resource-info right");
  34.         var b = a[0].firstElementChild;
  35.         b.lastElementChild.remove();
  36.         b.lastElementChild.remove();
  37.         b.lastElementChild.previousElementSibling.remove();
  38.         b.lastElementChild.previousElementSibling.remove();

  39.         //主体右上角信息列移动位置
  40.         document.styleSheets[0].rules[190].style.cssText = "margin-top: 0px;";
  41.         document.styleSheets[0].rules[192].style.cssText = "float: center;";

  42.         //“簡介: ”
  43.         var a = document.getElementsByClassName("topic-nfo box ui-corner-all");
  44.         a[0].firstElementChild.remove();
  45.         a[0].firstElementChild.remove();
  46.         a[0].lastElementChild.remove();

  47.         //“BT列表”
  48.         var a = document.getElementsByClassName("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");
  49.         for (var i = a.length - 1; i >= 0; --i) {
  50.                 a[i].remove();
  51.         }

  52.         //“會員專用連接”上方空白
  53.         document.styleSheets[0].rules[619].style.cssText = "padding: 0em 0em; border-width: 0px; background: none;";

  54.         //“彈幕播放連接”和“外部搜索連接”
  55.         var a = document.getElementById("tabs-1");
  56.         a.lastElementChild.previousElementSibling.previousElementSibling.remove();
  57.         a.lastElementChild.previousElementSibling.previousElementSibling.remove();

  58.         //“***以下發佈所有評論,僅代表網友觀點與本站無關!***”
  59.         document.styleSheets[0].rules[234].style.cssText = "display: none";

  60.         //“快速發帖”
  61.         document.styleSheets[0].rules[227].style.cssText = "display: none";

  62.         //评论框右边“注意:”
  63.         document.styleSheets[0].rules[228].style.cssText = "display: none";

  64.         //底部信息
  65.         var a = document.getElementById("1280_ad");
  66.         a.lastElementChild.remove();
  67.         a.lastElementChild.remove();
  68.         a.lastElementChild.remove();
  69. })();
复制代码

  1. // ==UserScript==
  2. // @name        动漫花园屏蔽指定项(首页+)
  3. // @namespace   Violentmonkey Scripts
  4. // @match       https://share.dmhy.org/
  5. // @match       https://share.dmhy.org/topics/list/page/*
  6. // @grant       none
  7. // @version     1.0
  8. // @author      RoachLin
  9. // @description 2022/9/30 00:00:00
  10. // ==/UserScript==

  11. (function() {
  12.         //屏蔽指定分类
  13.         //3:漫畫
  14.         //6:日劇
  15.         //12:特攝
  16.         //var sorts = [3, 6, 12];
  17.         var sorts = [111, 222, 333];
  18.         var a = document.querySelectorAll("a[href]");
  19.         for (var i = 0; i < a.length; ++i) {
  20.                 for (var j = 0; j < sorts.length; ++j) {
  21.                         if (a[i].href == "https://share.dmhy.org/topics/list/sort_id/" + sorts[j] && a[i].title == "") {
  22.                                 a[i].parentElement.parentElement.remove();
  23.                         }
  24.                 }
  25.         }

  26.         //屏蔽指定字幕组
  27.         var teams = [1111, 2222, 3333];
  28.         var a = document.querySelectorAll("a[href]");
  29.         for (var i = 0; i < a.length; ++i) {
  30.                 for (var j = 0; j < teams.length; ++j) {
  31.                         if (a[i].href == "https://share.dmhy.org/topics/list/team_id/" + teams[j]) {
  32.                                 a[i].parentElement.parentElement.parentElement.remove();
  33.                         }
  34.                 }
  35.         }

  36.         //屏蔽指定用户
  37.         var users = [1111111, 2222222, 3333333];
  38.         var a = document.querySelectorAll("a[href]");
  39.         for (var i = 0; i < a.length; ++i) {
  40.                 for (var j = 0; j < users.length; ++j) {
  41.                         if (a[i].href == "https://share.dmhy.org/topics/list/user_id/" + users[j]) {
  42.                                 a[i].parentElement.parentElement.remove();
  43.                         }
  44.                 }
  45.         }

  46.         //屏蔽指定标题内容
  47.         var str = ["111", "222"];
  48.         var a = document.querySelectorAll("a[href]");
  49.         for (var i = 0; i < a.length; ++i) {
  50.                 for (var j = 0; j < str.length; ++j) {
  51.                         if (a[i].innerText.includes(str[j])) {
  52.                                 a[i].parentElement.parentElement.remove();
  53.                         }
  54.                 }
  55.         }
  56. })();
复制代码


以上是对动漫花园(https://share.dmhy.org/)进行页面净化和屏蔽指定资源的三个脚本。
第一个代码是净化首页,第二个代码是净化资源详情页,第三个代码是在首页屏蔽指定资源。
我在代码中写了清晰的注释,哪部分代码净化了哪部分页面内容,应该很清晰了。
注意,第三个代码,sorts、teams、users、str这四个数组需要填入你自己需要屏蔽的分类id、字幕组id、用户id、部分标题内容。(建议搭配这个网址使用:https://bbs.acgrip.com/thread-9696-1-1.html
本人前端苦手,这三个脚本都是用原生html写的(大概?),可能不够简洁,也可能有bug,欢迎评论区交流!

评分

参与人数 1活跃度 +32767 收起 理由
aeric20044 + 32767 很給力!

查看全部评分

回复

使用道具 举报

2

主题

90

回帖

202

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
257080
qmiqi123 发表于 2022-10-20 00:06:26 | 显示全部楼层
隔壁还在吵啊,我一直都是等字幕组的资源,最好是放出了外挂字幕的,没外挂的就手抄,可以顺便抓虫,等BD资源出来就校对下时间轴,免得一下子工作量太大,容易摆烂
回复

使用道具 举报

0

主题

49

回帖

0

VC币

荣誉会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分
83726
无名的南瓜君 发表于 2022-10-20 10:31:36 | 显示全部楼层
qmiqi123 发表于 2022-10-20 00:06
隔壁还在吵啊,我一直都是等字幕组的资源,最好是放出了外挂字幕的,没外挂的就手抄,可以顺便抓 ...

吵啥?有什么瓜吃吗?
回复

使用道具 举报

0

主题

23

回帖

0

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
214406
四之宫辉夜 发表于 2022-10-21 21:18:01 | 显示全部楼层
回复

使用道具 举报

25

主题

324

回帖

1056

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
407461
Lambholl 发表于 2022-10-21 23:00:03 | 显示全部楼层
考虑上传 greasyfork 之类的吗
(不然自己手动添加还是有点麻烦
回复

使用道具 举报

2

主题

4

回帖

0

VC币

注册会员

Rank: 2

积分
1512
凝滞雪雾 发表于 2022-10-22 00:20:47 | 显示全部楼层
tampermonkey用不了你的脚本,但是greasemonkey可以。
回复

使用道具 举报

25

主题

324

回帖

1056

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
407461
Lambholl 发表于 2022-10-22 18:13:32 | 显示全部楼层
本帖最后由 Lambholl 于 2022-10-22 18:31 编辑
凝滞雪雾 发表于 2022-10-22 00:20
tampermonkey用不了你的脚本,但是greasemonkey可以。

tampermonkey 用的 eslint 的 no-redeclare 规则 禁止了重复用 var 声明同一个变量


楼主的代码里面有很多是重复声明 var 的,包括 a, i 这些
要么去找个开关忽视找个规则 要么只能让楼主修改代码了


另外,动漫花园的域名还有一个 dmhy.org
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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