Ich stand vor dem Problem, dass ich mit Umstieg von Spotify auf Deezer in meiner gewohnten Playlists, in denen ich mehrere Hörbücher habe einzelne nur dann löschen konnte, wenn ich jeden Titel einzeln markierte. Bei 400 Kapiteln sehr mühsam.

Ich habe mir überlegt, wie ich einzelne Hörbücher aus der Playlist markieren könnte.

Viele Versuche bis ich endlich etwas zusammengeschrieben hatte das auch wirklich funktioniert.

Ich bin zu folgender Lösung gekommen.

  1. Tampermonkey im Browser der Wahl installieren
  2.  In der Verwaltung der Erweiterung die Nutzerscripts zulassen aktivieren
  3. Neues Userscript mit folgendem Inhalt anlegen

// ==UserScript==
// @name         Deezer Auto-Markierer
// @match        https://www.deezer.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    function waitForBody(callback){
        if (document.body) callback();
        else setTimeout(() => waitForBody(callback), 100);
    }

    waitForBody(() => {

        const btn = document.createElement("button");
        btn.innerText = "🎧 Markierer starten";
        btn.id = "deezer_markierer_btn";
        btn.style = `
            position: fixed;
            top: 10px;
            left: 10px;
            z-index: 999999;
            padding: 8px 14px;
            background: #1db954;
            border: none;
            border-radius: 6px;
            color: white;
            font-size: 14px;
            cursor: pointer;
        `;

        const old = document.getElementById("deezer_markierer_btn");
        if(old) old.remove();

        document.body.appendChild(btn);

        btn.onclick = () => {

            let input = prompt("Wonach soll gesucht werden?");
            if (!input) return;

            input = input.toLowerCase();
            const pattern = new RegExp(input);
            let idle = 0;
            let maxIdle = 3;
            let totalMarked = 0;   // 🟢 Gesamtzähler

            function markVisible(){
                const rows = [...document.querySelectorAll("div.JIYRe")];
                let count = 0;

                rows.forEach(row=>{
                    const first = row.innerText.toLowerCase().split("\n")[0];
                    const box = row.querySelector("input[type='checkbox']");
                    if(pattern.test(first) && box && !box.checked){
                        box.click();
                        count++;
                        totalMarked++;   // 🟢 Gesamt erhöhen
                        console.log("Markiert:", first);
                    }
                });

                return count;
            }

            function step(){
                let found = markVisible();

                if(found === 0){
                    idle++;
                } else {
                    idle = 0;
                }

                if(idle >= maxIdle){
                    markVisible();

                    // 🟢 Meldung ausgeben
                    alert(`Fertig! ${totalMarked} Titel markiert.`);
                    console.log("Fertig! Markierte Titel:", totalMarked);

                    return;
                }

                window.scrollBy(0,600);
                setTimeout(step,400);
            }

            step();
        };
    });

})();

Wenn ihr nun Deezer neu ladet bekommt ihr links oben eine Schaltfläche

Deezer 1

 

Nun geht ihr auf die Playlist wo ich die Titel markieren wollt. Wichtig ist, dass ihr an den Anfang geht, wo die Titel sind. Da er erst ab dem Punkt beginnt zu markieren. Wenn ihr also in einem Hörbuch in der Playlist bei Kapitel 100 sind dann beginnt er auch erst ab diesem zu markieren.

Deezer 2

Nach dem starten bekommt ihr eine Abfrage nach was gesucht werden soll. In meinem Beispiel habe ich Funkenmagie angegeben. und OK geklickt

Deezer 3

Sobald Der Name im Titel nicht mehr gefunden wird hört er auf und sucht nicht weiter (Meine Playlist hat 3600 Titel, das würde jedesmal sehr lange dauern)...