3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

記事投稿キャンペーン 「2024年!初アウトプットをしよう」

Youtube Musicでまとめてdislike(低評価)をするスクリプト

Last updated at Posted at 2024-01-04

動機

Youtube Musicを使っていると、聞きたくない曲(特定アーティストの曲)がそれなりに自動で再生されてしまうので何とかしたい
フィードバックとしてdislikeボタンがあるが、それを何度も押してもそのアーティストの曲は普通に流れてきたりする。特に顕著なのが協調フィルタリングでおすすめされそうなファンベースが近いアーティストで、全曲dislikeでもしないと普通に自動再生に入ってきてしまう
1個1個手でやってもいいが、途中でめんどくさくなった

コード

1回やるだけなら、対象のアルバムやアーティストの曲リストのページでChromeの開発者コンソールからこのコードを貼り付けるだけで良い。1.5秒毎に1曲dislikeを付けていく。

document.querySelectorAll('yt-button-shape#button-shape-dislike button[aria-pressed="false"]').forEach((button, index) => {
    setTimeout(() => {
        button.click();
        console.log(index);
    }, 1500 * index);
});

注意点としては現時点(2024/1/4)でdislikeボタンは押しても反映されないことがあるので、処理が終わったらリフレッシュして再度これを走らせる必要がある。このスクリプトの問題ではなく、手で押しても失敗したりする。特に間隔を開けずに連続で押すと起きやすいので1.5秒とかなり長めの遅延を付けている。
曲数が多い場合は一番下までスクロールしてから走らせないと漏れが出る

いちいち開発者コンソールを開くのも面倒な場合は以下のTampermonkeyスクリプトをインストールする
右上にdislikeボタンが出るので押せば文字が変化していく
直接インストールはこちらから

// ==UserScript==
// @name         Youtube music dislike
// @namespace    http://tampermonkey.net/
// @version      2024-01-04
// @description  Youtube Musicでまとめてdislike
// @author       You
// @match        https://music.youtube.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=youtube.com
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    var newButton = document.createElement('button');
    newButton.textContent = 'まとめてdislike';

    newButton.addEventListener('click', function() {
        document.querySelectorAll('yt-button-shape#button-shape-dislike button[aria-pressed="false"]').forEach((button, index) => {
            setTimeout(() => {
                button.click();
                newButton.textContent = 'まとめてdislike#' + (index+1);
                console.log(index);
            }, 1500 * index);
        });
    });

    var targetElement = document.querySelector('.ytmusic-nav-bar .settings-button');
    targetElement.parentNode.insertBefore(newButton, targetElement.nextSibling);
})();

全曲dislikeしても新曲が出たらまた自動再生に入ってしまうリスクはあるが、まあ仕方ない。後はSpotifyに移行するくらいしか選択肢がないが、ローカルの曲をアップロードできないので厳しい
もうちょっと自動再生の候補まともにしてくれませんかね・・・

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?