Mediaset Infinity Downloader ist eine Typoskript-Bibliothek zum Herunterladen von Mediaset Infinity-Filmen oder Fernsehserien. Es verwendet yt-dlp, um die tatsächlichen Episoden herunterzuladen.
Um mediaset-infinity-downloader zu verwenden, klonen Sie dieses Repo und cd in den geklonten Ordner. Anschließend müssen Sie die benötigten Pakete installieren
# Typoskript-Runner installierennpm install --global ts-node# Projektpakete installierennpm install
Machen Sie yt-dlp
für das Skript zugänglich:
Laden Sie die ausführbare Datei herunter (für Ihren Computer).
Legen Sie die ausführbare Datei im Ordner src/executables
ab
Optimieren Sie Ihre Datei src/user/config.ts
und stellen Sie sicher, dass der ytDlpPath
korrekt ist und der outputFolder
vorhanden ist.
Füllen Sie Ihre src/user/episodes.ts
mit einem Array von Zeichenfolgen, die die Episoden- oder Filmseite enthalten. Beispiel unten
Exportstandard [ 'https://mediasetinfinity.mediaset.it/video/terraamara/episodio-243_F311851102010702', 'https://mediasetinfinity.mediaset.it/video/terraamara/episodio-242_F311851102010602',];
# cd in den Projektordnercd mediaset-infinitry-downloader# das Skript ausführennpm run start
Standardmäßig verwendet yt-dlp den Namen der .mp4-Datei, die Sie herunterladen möchten, als Ausgabedateinamen. Ich habe der Konfiguration eine Möglichkeit hinzugefügt, die Ausgabe des Dateinamens programmgesteuert zu ändern. Befolgen Sie die nachstehenden Schritte, um es zu verwenden
Aktivieren Sie customOutputName
in src/user/config.ts
Passen Sie customOutputNameFunction
an, um eine Zeichenfolge auszugeben, die automatisch als Dateiname für das entsprechende Element im Array verwendet wird.
Am einfachsten, sichersten, aber am zeitaufwändigsten
Öffnen Sie jede Episodenseite und kopieren Sie den Link manuell.
Fügen Sie es dem von Häkchen umgebenen Array episodes.ts
hinzu.
Am anfälligsten für Fehler (wenn mediasetinfinity die Seitenstruktur ändert), aber am schnellsten
Scrollen Sie auf der Seite mit der Episodenliste nach unten
Öffnen Sie die Browserkonsole und fügen Sie diese js- copy($$('a[href*="/video/"]').map((x)=>x.href))
In Ihrer Zwischenablage finden Sie die Links zu allen Episoden
Fügen Sie das Episoden-Array in die Datei episodes.ts
ein
Am zuverlässigsten (erfordert etwas Fachwissen)
Öffnen Sie eine Episodenlistenseite (Beispiel: https://mediasetinfinity.mediaset.it/fiction/bitterlands/episodi_SE000000001766,ST000000003181,sb100018308)
Öffnen Sie Devtools und gehen Sie zur Registerkarte „Netzwerk“.
Scrollen Sie zum Ende der Seite
Es wird eine neue Anforderung type:'fetch'
mit dem Namen „ mediaset-prod-all-programs-v2
angezeigt
Klicken Sie mit der rechten Maustaste und dann Copy > Copy as fetch
Gehen Sie zur Registerkarte „Konsole“ der Devtools
Den kopierten Abruf einfügen (Beispiel unten)
fetch("https://feed.entertainment.tv.theplatform.eu/f/PR1GhC/mediaset-prod-all-programs-v2?byCustomValue={subBrandId} {100018308}&sort=:publishInfo_lastPublished|desc,tvSeasonEpisodeNumber|desc&range= 1-1000", {"headers": { „accept“: „*/*“, „accept-Language“: „it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7“, „sec-ch-ua“: ""Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"", „sec-ch-ua-mobile“: „?0“, „sec-ch-ua-platform“: „“Windows““, „sec-fetch-dest“: „empty“, „sec-fetch- mode“: „cors“, „sec-fetch-site“: „cross-site“}, „referrer“: „https://mediasetinfinity.mediaset.it/“, „referrerPolicy“: „strict-origin-when-cross-origin“, „body“: null, „method“: „GET“, „mode“: „cors“, „credentials“: „omit“});
Ändern Sie den range
queryParam auf eine beliebige Zahl (im Beispiel oben habe ich ihn auf 1 bis 1000 geändert).
Führen Sie den fetch
aus, indem Sie die Eingabetaste drücken
Gehen Sie zurück zur Registerkarte „Netzwerk“.
Wählen Sie die Anfrage aus, die wir gerade erstellt haben, klicken Sie auf der Registerkarte „Vorschau“ mit der rechten Maustaste auf entries
und klicken Sie auf Copy value
.
Fügen Sie das Episoden-Array in die Datei episodes.ts
ein