Mediaset Infinity Downloader es una biblioteca mecanografiada para descargar películas o series de televisión de Mediaset Infinity. Utiliza yt-dlp para descargar los episodios reales.
Para usar mediaset-infinity-downloader, clone este repositorio y cd en la carpeta clonada. Luego tienes que instalar los paquetes necesarios.
# Instalar mecanografiado runnernpm install --global ts-node# Instalar paquetes de proyectonpm install
Haga que yt-dlp
sea accesible para el script:
Descargue el ejecutable (para su máquina)
Coloque el ejecutable en la carpeta src/executables
Modifique su archivo src/user/config.ts
asegurándose de que ytDlpPath
sea correcto y que exista la outputFolder
.
Complete su src/user/episodes.ts
con una serie de cadenas que contengan el episodio o la página de la película. Ejemplo a continuación
exportar por defecto ['https://mediasetinfinity.mediaset.it/video/terraamara/episodio-243_F311851102010702', 'https://mediasetinfinity.mediaset.it/video/terraamara/episodio-242_F311851102010602',];
# cd en la carpeta del proyecto cd mediaset-infinitry-downloader# ejecuta el scriptnpm run start
De forma predeterminada, yt-dlp usa el nombre del .mp4 que está a punto de descargar como nombre del archivo de salida. Agregué en la configuración una forma de cambiar mediante programación la salida del nombre del archivo. Siga los pasos a continuación para usarlo
Habilite customOutputName
en src/user/config.ts
Ajuste customOutputNameFunction
para generar una cadena que se usará automáticamente como nombre de archivo para el elemento correspondiente en la matriz.
Lo más sencillo, lo más seguro pero lo que más tiempo requiere
Abra la página de cada episodio y copie el enlace manualmente.
Agréguelo a la matriz episodes.ts
rodeado de marcas.
Más propenso a fallar (si mediasetinfinity cambia la estructura de la página) pero más rápido
Desplácese hasta el final de la página de lista de episodios.
Abra la consola del navegador y pegue esta copy($$('a[href*="/video/"]').map((x)=>x.href))
Encontrarás en tu portapapeles la variedad de enlaces de todos los episodios.
Pegue la matriz de episodios en el archivo episodes.ts
Más confiable (requiere algo de experiencia)
Abra una página de lista de episodios (ejemplo: https://mediasetinfinity.mediaset.it/fiction/bitterlands/episodi_SE000000001766,ST000000003181,sb100018308)
Abra devtools y vaya a la pestaña Red
Desplácese hasta el final de la página
Verá un nuevo type:'fetch'
que aparece llamada mediaset-prod-all-programs-v2
Haga clic derecho y luego Copy > Copy as fetch
Vaya a la pestaña Consola de devtools
Pegue la recuperación copiada (ejemplo a continuación)
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", {"encabezados": { "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": "vacío", "sec-fetch- mode": "cors", "sec-fetch-site": "cross-site"},"referrer": "https://mediasetinfinity.mediaset.it/","referrerPolicy": "origen-estricto-cuando-origen-cruzado","cuerpo": nulo,"método": "GET","modo": "cors","credenciales": "omitir"});
Modifique el range
queryParam a cualquier número que desee (en el ejemplo anterior lo modifiqué de 1 a 1000)
Ejecute la fetch
presionando enter
Volver a la pestaña Red
Seleccione la solicitud que acabamos de hacer y en la pestaña de vista previa, haga clic derecho en entries
y presione Copy value
.
Pegue la matriz de episodios en el archivo episodes.ts