Forum Settings
Forums

Filter seasonal anime by score/members (userscript)

New
Sep 9, 4:08 PM
#1
Offline
Jan 2020
6
Can't find a better place to post this...

I made a little script to filter seasonal anime. The purpose is to make it easier to hunt for new anime to watch.

If you don't know how to install this, watch this video by hacker09.
Some scrips can be malicious and it's on you to keep yourself safe.



It hides any shows with <5 score or <5000 members and hides the "TV (Continuing)" section.
(Should be pretty safe values and not remove anything worth watching - except maybe some ecchi/hentai/chinese shows.)
Also makes completed shows a tiny bit blurry (but still readable).

* You can of course change the numbers to suit your taste, they're right at the top. Also whether continuing shows are hidden by default.
* Press ESCAPE to show hidden shows.
* Press BACKTICK ( ` ) to show "TV (Continuing)"
* Blur can be removed by setting it to 0.


Code is dead simple, feel free to examine and change at will.
(I would also like to express my gratitude to the developers of MAL for making a very developer friendly page.)

// ==UserScript==
// @name         MAL Seasonal anime browser
// @namespace    martixy
// @version      2025-09-09
// @description  Make browsing the seasonal anime list easier.
// @author       martixy
// @match        https://myanimelist.net/anime/season*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=myanimelist.net
// @grant        GM_addStyle
// ==/UserScript==

'use strict';
console.clear()

const FILTER_BELOW_SCORE = 5.0
const FILTER_BELOW_MEMBERS = 5000
const HIDE_CONTINUING_SHOWS = true
const BLUR_STRENGTH = 1 /* Noticeable at a glance, but still readable */


/**
 * data-status
 * 0 = Add to list (none)
 * 1 = Watching
 * 2 = Completed
 * 3 = On Hold
 * 4 = Dropped
 * 6 = Plan to watch
 */

let style = /*css*/`
.seasonal-anime:has([data-status="2"]) {
    filter: blur(${BLUR_STRENGTH}px);
}
.mx-hide,
.mx-hide-slop .mx-slop {
    display: none !important; /* Some elements down the page get an element style */
}
`
GM_addStyle(style)

let allCategories = document.querySelector('.js-categories-seasonal')
let continuingShows = document.querySelector('.seasonal-middle+.js-seasonal-anime-list-key-1')

let header = document.querySelector('.anime-header')
let removedCount = 0

document.querySelectorAll('.seasonal-anime').forEach(el => {
    let score = Number(el.querySelector('.js-score').textContent.trim()) || FILTER_BELOW_SCORE //rating can be N/A = 0 (obscure or not-yet-aired shows)
    let members = Number(el.querySelector('.js-members').textContent.trim())
    // console.log(el.querySelector('.js-title').textContent, score, members, score < FILTER_BELOW_SCORE || members < FILTER_BELOW_MEMBERS)

    let parentHeader = el.parentElement.firstElementChild
    if (parentHeader !== header) {
        header.textContent += ` [${removedCount}]`
        removedCount = 0
        header = parentHeader
    }

    if (score < FILTER_BELOW_SCORE || members < FILTER_BELOW_MEMBERS) {
        el.classList.add('mx-slop')
        removedCount++ //Includes ones hidden by your other filters (e.g. kids shows)
        // if (score > 7.5) console.log(el.querySelector('.js-title').textContent, score) //Almost universally chinese/korean shows (and very rare)
    }
})
header.textContent += ` [${removedCount}]`
allCategories.classList.add('mx-hide-slop')
if (HIDE_CONTINUING_SHOWS) continuingShows.classList.add('mx-hide')


/**
 * @param {KeyboardEvent} ev
 */
function kbHandler(ev) {
    // console.log(ev)
    if (ev.target instanceof HTMLInputElement) return
    if (ev.ctrlKey || ev.shiftKey || ev.altKey) return
    switch (ev.code) {
        case 'Escape': {
            allCategories.classList.toggle('mx-hide-slop')
            break
        }
        case 'Backquote': {
            continuingShows.classList.toggle('mx-hide')
            break
        }
    }
}
document.addEventListener('keydown', kbHandler)
martixySep 10, 5:22 AM
Sep 9, 7:17 PM
#2

Offline
Dec 2019
3519
martixy said:
If you don't know how to install this, for your own future safety, watch this video that I made

https://github.com/cyber-sec0/cyber-sec0.github.io/raw/refs/heads/main/Videos/How%20to%20install%20TM%20scripts.mp4
Click here to see My Tampermonkey Scripts For MAL

If you like my work, please consider supporting it!
Cryptos / Patreon / Ko-Fi / BuyMeaCoffee https://cyber-sec0.github.io
Sep 10, 5:19 AM
#3
Offline
Jan 2020
6
Reply to hacker09
martixy said:
If you don't know how to install this, for your own future safety, watch this video that I made

https://github.com/cyber-sec0/cyber-sec0.github.io/raw/refs/heads/main/Videos/How%20to%20install%20TM%20scripts.mp4
@hacker09 Well, my initial thought was: Anyone who can install this on their own can probably read the script enough to tell what it's doing and I didn't wanna encourage novice users who wouldn't be able to tell apart malicious code from benign.

But this works too. I guess I can edit the post.

Sep 10, 11:57 AM
#4

Offline
Dec 2019
3519
Reply to martixy
@hacker09 Well, my initial thought was: Anyone who can install this on their own can probably read the script enough to tell what it's doing and I didn't wanna encourage novice users who wouldn't be able to tell apart malicious code from benign.

But this works too. I guess I can edit the post.

@martixy

to tell what it's doing= Use AI
to tell apart malicious code from benign= Use AI

Glad I could help with the video
Click here to see My Tampermonkey Scripts For MAL

If you like my work, please consider supporting it!
Cryptos / Patreon / Ko-Fi / BuyMeaCoffee https://cyber-sec0.github.io
Sep 10, 1:21 PM
#5

Offline
May 2010
1239
@martixy @hacker09 you can use this url https://shaggyze.website/hacker09/Videos/How%20to%20install%20TM%20scripts.mp4 so it plays in the browser of most devices instead of auto downloads.

@martixy we post scripts in Creative Corner.
also the key presses weren't working for me everytime, didn't test the console.log on why, but me and hacker09 usually use GM_registerMenuCommand to enable/disable options.
ShaggyZESep 10, 4:23 PM
Sep 10, 4:19 PM
#6

Offline
Dec 2019
3519
Reply to ShaggyZE
@martixy @hacker09 you can use this url https://shaggyze.website/hacker09/Videos/How%20to%20install%20TM%20scripts.mp4 so it plays in the browser of most devices instead of auto downloads.

@martixy we post scripts in Creative Corner.
also the key presses weren't working for me everytime, didn't test the console.log on why, but me and hacker09 usually use GM_registerMenuCommand to enable/disable options.
@ShaggyZE

Not sure who @hacker is...

Glitch is about to die, so I don't recommend using it.

GitHub also plays in the browser if HTML tags are used.
hacker09Sep 10, 4:22 PM
Click here to see My Tampermonkey Scripts For MAL

If you like my work, please consider supporting it!
Cryptos / Patreon / Ko-Fi / BuyMeaCoffee https://cyber-sec0.github.io
Sep 10, 4:24 PM
#7

Offline
May 2010
1239
Reply to hacker09
@ShaggyZE

Not sure who @hacker is...

Glitch is about to die, so I don't recommend using it.

GitHub also plays in the browser if HTML tags are used.
@hacker09 oops, edited.
Sep 11, 7:44 AM
#8
Offline
Jan 2020
6
Reply to ShaggyZE
@martixy @hacker09 you can use this url https://shaggyze.website/hacker09/Videos/How%20to%20install%20TM%20scripts.mp4 so it plays in the browser of most devices instead of auto downloads.

@martixy we post scripts in Creative Corner.
also the key presses weren't working for me everytime, didn't test the console.log on why, but me and hacker09 usually use GM_registerMenuCommand to enable/disable options.
@ShaggyZE Cool. You seem to be a userscripter yourself, so I'm sure if you wanted to, you could tell me any errors that crop up.

More topics from this board

» Remove Non-Anime Content from MAL (Music Videos, PVs, CMs, etc.)

TaviiTavii - 3 hours ago

0 by TaviiTavii »»
3 hours ago

» I think it's now time to update abuse section on mal forum guidelines to add "anime tourist" in insult category.

jacobPOL - 9 hours ago

2 by jacobPOL »»
9 hours ago

» Stop with the 'We value your privacy' pop-ups

_cjessop19_ - Sep 9

7 by Shishio-kun »»
Today, 12:13 AM

» Request to Increase Favorite Character Limit

ENANO7211 - Yesterday

0 by ENANO7211 »»
Yesterday, 2:46 PM

» Allow us to delete our own forum created posts

Gazz - Apr 22, 2021

9 by -DxP- »»
Yesterday, 10:36 AM
It’s time to ditch the text file.
Keep track of your anime easily by creating your own list.
Sign Up Login