Mediaset Infinity Downloader est une bibliothèque dactylographiée pour télécharger des films ou des séries télévisées Mediaset Infinity. Il utilise yt-dlp pour télécharger les épisodes réels.
Pour utiliser mediaset-infinity-downloader, clonez ce dépôt et cd dans le dossier cloné. Ensuite, vous devez installer les packages nécessaires
# Installer Typescript Runnernpm install --global ts-node# Installer les packages de projetnpm install
Rendre yt-dlp
accessible au script :
Téléchargez l'exécutable (pour votre machine)
Mettez l'exécutable dans le dossier src/executables
Ajustez votre fichier src/user/config.ts
en vous assurant que ytDlpPath
est correct et que le outputFolder
existe.
Remplissez votre src/user/episodes.ts
avec un tableau de chaînes contenant l'épisode ou la page du film. Exemple ci-dessous
exporter par défaut [ 'https://mediasetinfinity.mediaset.it/video/terraamara/episodio-243_F311851102010702', 'https://mediasetinfinity.mediaset.it/video/terraamara/episodio-242_F311851102010602',] ;
# cd dans le dossier du projetcd mediaset-infinitry-downloader# exécutez le scriptnpm run start
Par défaut, yt-dlp utilise le nom du .mp4 que vous êtes sur le point de télécharger comme nom de fichier de sortie. J'ai ajouté dans la configuration un moyen de modifier par programme la sortie du nom de fichier. Suivez les étapes ci-dessous pour l'utiliser
Activez customOutputName
dans le src/user/config.ts
Ajustez customOutputNameFunction
pour générer une chaîne qui sera automatiquement utilisée comme nom de fichier pour l'élément correspondant dans le tableau.
Le plus simple, le plus sûr mais le plus long
Ouvrez la page de chaque épisode et copiez le lien manuellement.
Ajoutez-le au tableau episodes.ts
entouré de graduations.
Le plus susceptible d'échouer (si mediasetinfinity modifie la structure de la page) mais le plus rapide
Faites défiler vers le bas dans la page de liste des épisodes
Ouvrez la console du navigateur et collez cette copy($$('a[href*="/video/"]').map((x)=>x.href))
Vous trouverez dans votre presse-papiers l'ensemble des liens des épisodes
Collez le tableau des épisodes dans le fichier episodes.ts
Le plus fiable (nécessite une certaine expertise)
Ouvrez une page de liste d'épisodes (exemple : https://mediasetinfinity.mediaset.it/fiction/bitterlands/episodi_SE000000001766,ST000000003181,sb100018308)
Ouvrez les outils de développement et accédez à l'onglet Réseau
Faites défiler vers le bas de la page
Vous verrez apparaître une nouvelle requête type:'fetch'
nommée mediaset-prod-all-programs-v2
Clic droit puis Copy > Copy as fetch
Accédez à l'onglet Console des outils de développement
Collez la récupération copiée (exemple ci-dessous)
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": { "accepter": "*/*", "accept-langue": "it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7", "sec-ch-ua": ""Non .A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"", "sec-ch- ua-mobile": "?0", "sec-ch-ua-platform": ""Windows"", "sec-fetch-dest": "vide", "sec-fetch-mode": "cors", "sec-fetch-site": "cross-site"},"referrer": "https://mediasetinfinity.mediaset.it/","referrerPolicy": "strict-origin-when-cross-origin","body": null,"method": "OBTENIR", mode : "cors","credentials": "omit"});
Modifiez la range
queryParam en n'importe quel nombre de votre choix (dans l'exemple ci-dessus, je l'ai modifié entre 1 et 1000)
Exécutez la fetch
en appuyant sur Entrée
Revenez à l'onglet Réseau
Sélectionnez la demande que nous venons de faire et dans l'onglet d'aperçu, cliquez avec le bouton droit sur entries
et appuyez sur Copy value
.
Collez le tableau des épisodes dans le fichier episodes.ts