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

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

  • TA的每日心情
    开心
    2021-9-29 13:51
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    4

    主题

    14

    回帖

    0

    VC币

    白金会员

    Rank: 12Rank: 12Rank: 12

    积分
    54569
    千城忆梦 发表于 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 很給力!

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    10 小时前
  • 签到天数: 1439 天

    [LV.10]以坛为家III

    2

    主题

    89

    回帖

    202

    VC币

    至尊会员

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

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

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-3-21 20:58
  • 签到天数: 612 天

    [LV.9]以坛为家II

    0

    主题

    49

    回帖

    0

    VC币

    荣誉会员

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

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

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

    使用道具 举报

  • TA的每日心情
    慵懒
    3 天前
  • 签到天数: 1299 天

    [LV.10]以坛为家III

    0

    主题

    22

    回帖

    0

    VC币

    至尊会员

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

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

    使用道具 举报

  • TA的每日心情
    无聊
    2023-3-18 18:33
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    23

    主题

    309

    回帖

    1056

    VC币

    星辰大海

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

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

    使用道具 举报

  • TA的每日心情
    擦汗
    2022-12-16 12:49
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    2

    主题

    4

    回帖

    0

    VC币

    注册会员

    Rank: 2

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

    使用道具 举报

  • TA的每日心情
    无聊
    2023-3-18 18:33
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    23

    主题

    309

    回帖

    1056

    VC币

    星辰大海

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

    积分
    406059
    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
    回复

    使用道具 举报

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

    本版积分规则

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