Schreiben Sie URLs in eine Textdatei, die einem Muster entsprechen

Schreiben Sie URLs in eine Textdatei, die einem Muster entsprechen

Ich versuche, die Website nickjr.com zu analysieren, insbesondere "http://www.nickjr.com/paw-patrol/videos/" URL nur für vollständige Episoden.

Die Site von nickjr.com ist nach Showtiteln und dann nach Spielen oder Videos gegliedert, zumindest bei Paw Patrol. Die URL bleibt also gleich, bis ich tatsächlich auf „Video abspielen“ klicke. Auf der Site gibt es mehrere Videos, aber die vollständigen Episoden enthalten das Wort „full-episode“ in der URL.

Beispiel, das keine vollständige Episode ist:
http://www.nickjr.com/paw-patrol/videos/316-garden-guards/

Beispiel für eine vollständige Episode:
http://www.nickjr.com/paw-patrol/videos/paw-patrol-410-mission-paw-pups-save-the-royal-throne-s4-ep410-full-episode/

Meine Idee ist, youtube-dl zu verwenden, was auf ihrer Site funktioniert (getestet), um Episoden herunterzuladen, aber ich möchte nicht alle Episoden herunterladen, da einige keine vollständigen Episoden sind. Also gehe ich jetzt zu jedem Video und muss die URL kopieren und diese dann in youtube-dl kopieren. Es funktioniert, aber die Navigation auf der Site von nickjr ist ätzend.

Ich weiß, dass es Webspider gibt, aber ich konnte nicht wirklich genau das finden, wonach ich suchte, und es ergab auch nicht wirklich viel Sinn. Aber mein Plan wäre, die Site zu durchsuchen und Regex auf die URL anzuwenden, aber nur, um die URLs, die mit der vollständigen Episodenzeichenfolge übereinstimmen, in eine Textdatei zu schreiben, die ich dann in youtube-dl importieren könnte.

Ich brauche also wirklich Hilfe beim Parsen der Site nach vollständigen Episoden, die in einer Textdatei gespeichert werden können.

Außerdem wäre es mir lieber, wenn das Programm mit Ubuntu 16.04 kompatibel wäre, ich kann aber bei Bedarf auch Windows 10 verwenden.

Antwort1

Wenn Sie Chrome verwenden, können Sie drücken, F12um die Entwicklertools aufzurufen, und dann den folgenden kleinen Code-Schnipsel in der Konsole ausführen, um die Liste der Links zu schreiben:

$("a.route").each(function (i, a) {if (a.href.match(/full-episode/)) console.log(a.href)})

Es funktioniert möglicherweise auch mit anderen Browsern, aber ich habe es nur mit Chrome getestet.

verwandte Informationen