Wie bei Youtube alle Kommentare mit Script (Greasemonkey) angezeigt bekommen

Kendrickk

Cadet 2nd Year
Registriert
Jan. 2015
Beiträge
21
Bei einigen Videos sind auch in den Kommentaren nützliche Infos.

Die alte Möglichkeit "Zeige alle Kommentare" (auf einer Extraseite) wurde vor kurzem still und heimlich beseitigt.

Kennt jemand einen Script (z.b. Greasemonkey) der mir alle Kommentare ("mehr anzeigen", "alle Antworten anzeigen", "weitere Informationen") mit allen Antworten usw. anzeigt ?

Sonst artet das Klicken richtig in Arbeit aus ;)
 
Ich habe mich gerade selber daran versucht. Hier die Variante "quick and dirty":

Code:
// ==UserScript==
​// @name Open YouTube comments
// @namespace smagjus
// @version 0.1
// @description Opens all comments on a YouTube video page
// @include *.youtube.com/*
// @grant none
// @copyright smagjus
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==


$('body').append('<input type="button" value="Open comments" id="CP">');
$("#CP").css("position", "fixed").css("top", 50).css("left", 50);


$('#CP').click(function(){
    setInterval(function(){
        var response = document.getElementsByClassName('load-more-text');
        for (i = 0; i < response.length-1; i++) {
            response[i].click();
        }

        var comment = document.getElementsByClassName('yt-uix-button yt-uix-button-size-default yt-uix-button-default load-more-button yt-uix-load-more comment-section-renderer-paginator yt-uix-sessionlink');
        //items[items.length-1].scrollIntoView(false);
        comment[comment.length-1].click();
    },1000);
});

Macht nichts anderes, als die Button zum Ausklappen der Kommentare in einer Schleife anzuklicken.
 
Erst mal danke, toll was du kannst ;)

Laß mich jetzt aber mal nachfragen:

- ich muß bei YT folgendes machen wenn ich alles lesen will (und ich mach das gleich systematisch):
1. mit ctrl+f suchen: "mehr anzeigen"
2. sobald dann nichts mehr da ist, suche ich mit ctrl+f "Antworten anzeigen" (d.h. dann zum z.b. "Alle 9 Antworen anzeigen" zu bekommen)
- sind auch die alle offen, dann noch
3. nach "weitere Informationen" suchen und auch anklicken.

Auf dieser Youtube Seite sind zb. alle 3 Elemente gegeben:
https://www.youtube.com/watch?v=88AnjwKeu4s

Kann dein Script alle 3 Klick-Notwendigkeiten beseitigen ?

Und bitte gib mir zumindest einen kurzen Hinweis wie ich deinen Script wo (Firefox ?) einbaue.
Ich such dann schon genauer nach Anleitungen, aber eben für einen erste Hinweis.
Wäre wirklich super wenn du das schaffen könntest, ich denke das könnten viele brauchen.

Ich kann mich erinnern, ich hatte vor einigen Jahren für heise.de so einen Script, da muß man ja auch alles einzeln anklicken.
Irrwitzig...
 
Zuletzt bearbeitet:
Einfach beim Greasemonkey "Neues User Script" anklicken, irgendeinen Namen auswählen und dann bestätigen. Danach kannst du alles was da steht, mit meinem Script ersetzen. Als nächstes die YouTube-Seite neuladen und wenn alles richtig funktioniert, hast du oben rechts einen Button mit der Aufschrift "Open comments". Klickst du den Button werden alle Kommentare geladen, nachdem du kurz zu den Kommentaren heruntegescrollt bist.

Ist mein erstes Userscript, also erwarte nichts besonderes (Performance ist ein Problem) ;) Ich habe das Script auch nochmal überarbeitet, weil es vorher nur zwei von drei Klicks gemacht hat:

Code:
// ==UserScript==
// @name Open YouTube comments
// @namespace smagjus
// @version 0.2
// @description Opens all comments on a YouTube video page
// @include *.youtube.com/*
// @grant none
// @copyright smagjus
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==


$('body').append('<input type="button" value="Open comments" id="CP">');
$("#CP").css("position", "fixed").css("top", 50).css("left", 50);


$('#CP').click(function(){
    setInterval(function(){
        var comment = document.getElementsByClassName('yt-uix-button yt-uix-button-size-default yt-uix-button-default load-more-button yt-uix-load-more comment-section-renderer-paginator yt-uix-sessionlink');
        comment[comment.length-1].click();
    },1000);
    setInterval(function(){
        var response = document.getElementsByClassName('load-more-text');
        for (i = 0; i < response.length-1; i++) {
            response[i].click();
        }
    },1000);
    setInterval(function(){
        var moretext = document.getElementsByClassName('comment-text-toggle-link show-less hid');
        for (i = 0; i < moretext.length-1; i++) {
            moretext[i].click();
            moretext[i].parentElement.removeChild(moretext[i]);
        }
    },1000);
});

Edit: Grad noch nen Bug entdeckt, der nicht so einfach zu beseitigen ist :( Nimm erst einmal die erst Version, die ich weiter oben gepostet habe.

Edit2: Sollte alles funktionieren :) Neue Version in diesem Post.
 
Zuletzt bearbeitet:
Smagjus: Sollte alles funktionieren Neue Version in diesem Post

Einen schnellen und besten Dank lieber smagjus.

Ich bin noch dabei mich in die Greasemonkey Tutorials einzulesen, werde mich aber heute noch melden.
Kann es kaum glauben, daß dir hier für YT was gelungen ist.
Bin halt Zweckpessimist... ;)

Aber das würde mir ungeheuer helfen, du hast ja jetzt ungefähr eine Ahnung welche Klickorgien da bei YT nötig sind.

Und wie schon gesagt, bei einigen Videos stehen wirklich nützliche Infos dabei.
Nochmals besten Dank fürs Erste :)

Links zu Greasemonkey Tutorials und YT Videos:
https://de.wikipedia.org/wiki/Greasemonkey
https://addons.mozilla.org/de/firefox/addon/greasemonkey/
https://www.reddit.com/r/GreaseMonkey/comments/4mxvy4/deutsche_greasmonkey_einf%C3%BChrungen_tutorials_und/

-- Youtube Videos:
https://www.youtube.com/watch?v=hSA5o0Nz_XY
https://www.youtube.com/watch?v=SioZi7InovU
https://www.youtube.com/watch?v=sKKytScGQbs


.
.
.
Ergänzung ()

Ich hab jetzt stundenlang herumprobiert mit Greasemonkey, die Tutorials gelesen aber auf keinen grünen Zweig gekommen.

An meinem Firefox kanns ja nicht liegen, wohl auch nicht an div. Adblockern usw. Oder ?

Wäre es dir möglich in einer Schritt für Schritt Anleitung mir alles genau aufzuschreiben ?
1. Greasemonkey installlieren, hat geklappt.

2. jetzt beginnt schon das Problem:
du schreibst Einfach beim Greasemonkey "Neues User Script" anklicken, irgendeinen Namen auswählen und dann bestätigen. Danach kannst du alles was da steht, mit meinem Script ersetzen.

http://fs5.directupload.net/images/160607/6g7rf79c.jpg

Wo bitte kann man bei "Neuen Benutzerskript" (das meintest du wohl) einen Namen auswählen ?
Meinst du Namen, Namensraum, Beschreibung ? Was soll man da alles eintragen ?
Was bei "auf diese Seiten anwenden" ?
Was bei "nicht auf diese Seiten anwenden" ?

Und vor allem:
wie krieg ich deinen Skript hinein ???

Ich hab eine Datei mit Namen
- YouTube_Comments_anzeigen.user.js
erstellt. Und dort deinen Skript reingetan. Aber geht das auch anders ?

Und geht das auf dieser Beispielseite wirklich bei dir:
https://www.youtube.com/watch?v=88AnjwKeu4s
also das sich ALLES öffnet, "mehr anzeigen", "Antworten anzeigen" und "weitere Informationen"

Klickst du den Button werden alle Kommentare geladen, nachdem du kurz zu den Kommentaren heruntegescrollt bist.

Auf welchen Button bitte ?
Und öffnet sich dann alles bei dir ?

Als nächstes die YouTube-Seite neuladen und wenn alles richtig funktioniert, hast du oben rechts einen Button mit der Aufschrift "Open comments"
Ja leider diesen Button habe ich nicht, nur das Affen-Symbol.

So siehts bei mir aus:
http://fs5.directupload.net/images/160607/al8tsqn5.jpg


Tut mir leid das ich damit solche Probleme habe, aber ich habs wirklich versucht, du hast ja meine Links gesehen.
Irgendwo ist da der Wurm drinnen ;)
Gleich mal wieder ein Danke vorweg für deine Bemühungen :)
 
Zuletzt bearbeitet:
Kendrickk schrieb:
So siehts bei mir aus:
http://fs5.directupload.net/images/160607/al8tsqn5.jpg


Tut mir leid das ich damit solche Probleme habe, aber ich habs wirklich versucht, du hast ja meine Links gesehen.
Irgendwo ist da der Wurm drinnen ;)
Das sieht doch schon ganz gut aus. Du müsstest das Script einfach speichern und dann auf ein beliebiges YouTube Video klicken. Wenn alles richtig funktioniert, sollte das Script dann direkt oben links auf die YouTube Seite selber (nicht in der Browser Leiste) einen Button packen, den du anklicken kannst.

Falls das nicht funktioniert, bin ich etwas überfragt :confused_alt:
 
Hallo !

Der Reihe nach:

1. Hat sich jetzt bei dir auf dieser Beispielseite wirklich alles geöffnet ?:
https://www.youtube.com/watch?v=88AnjwKeu4s
also das sich ALLES öffnet, "mehr anzeigen", "Antworten anzeigen" und "weitere Informationen"

Bitte teste das unbedingt aus und sag mir das sich bei dir ALLES geöffnet hat.

2. Du schreibst einmal oben rechts sei ein Button
"Als nächstes die YouTube-Seite neuladen und wenn alles richtig funktioniert, hast du oben rechts einen Button mit der Aufschrift "Open comments". Klickst du den Button werden alle Kommentare geladen, nachdem du kurz zu den Kommentaren heruntegescrollt bist."

Und in deinem letzten Post
"Wenn alles richtig funktioniert, sollte das Script dann direkt oben links auf die YouTube Seite selber (nicht in der Browser Leiste) einen Button packen, den du anklicken kannst."

Kannst du nicht einen Screenshot machen und das zeigen ?

3. Und die ganzen Einstellungen (meine Directupload-Bilder) sehen bei dir gleich aus ?

4. Wie gesagt ich habe ca. 12 Addons die ich wirklich brauche, da funktioniert auch alles, div. Adblocker, Ublock Origin, div. Videodownloader.
Ob das was sich verhakt ?


5. Du hast leider auch nicht darauf geantwortet:
2. jetzt beginnt schon das Problem:
du schreibst Einfach beim Greasemonkey "Neues User Script" anklicken, irgendeinen Namen auswählen und dann bestätigen. Danach kannst du alles was da steht, mit meinem Script ersetzen.

Soll man dein Skript in eine Datei tun oder geht es auch anders.
 
Das ist leider meine letzte Antwort, weil mir das doch etwas zu viel wird.

Zu 1.
Jup, sieht gut aus. Alle Kommentare werden in voller länge angezeigt.
Zu 2.
Links war richtig. Siehe
Zu 3.
Leider habe ich festgestellt, dass das Forum zwei Zeilen bei meinem Script umgeordnet hatte. Ich habe den letzten Post mit dem Script nochmal überarbeitet und dort stimmt jetzt alles.
Zu 4.
Das kann ich nicht ausschließen, da ich zu wenig über Addons und speziell den Firefox weiß.
Zu 5. musstest du nur in den Editor kommen, den du offensichtlich gefunden hattest. Die Einstellungen, die du vorher machst sind egal, weil die von meinem Userscript sowieso überschrieben werden.
 
Ich möchte mich noch einmal bei dir bedanken.

Und bitte nicht böse sein wegen der Nachfragen, ich denke doch, daß die Klärungen auch vielen anderen später einmal hier helfen werden. Und meist wissen die Experten um die Notwendigkeit, komplizierte Abläufe Schritt für Schritt an Unbedarfte weiterzugeben. Ich kenn mich ja auch in einigen Gebieten besser aus als in solchem Programmieren und dort versuche ich mein Wissen so weitergeben.

Jedenfalls der Ruhm für dieses sinnvolle Programm gehört allein dir ;)

Ich habe ja wirklich alles versucht, aber es scheint jetzt eindeutig an meinem System zu liegen, obwohl ich mir das nicht erklären kann (wenn schon du bei FF nicht ganz durchblickst). Nachdem das mit rechts und links jetzt auch geklärt ist.

Vielleicht liegt es an meinem FF addon "Classic theme Restorer" oder an meiner "All-in-one- Sidebar".
Oder ich hab vielleicht Javascript ausgeschaltet ?
Seis drum. Vieles hat sich geklärt.

Falls sich jemand bei FF besser auskennt und evt. was entdeckt meine Addons:
http://fs5.directupload.net/images/160607/3ebnd7f9.jpg

Werd es auch mit einem ganz neuen Profil probieren.
Nochmals herzlichen Dank für deine Arbeit.
 
Zurück
Oben