mirror of
https://github.com/iptv-org/epg
synced 2026-05-10 03:17:04 -04:00
04/2026 Part 2 : Scrapers
Part 1
This commit is contained in:
5025
sites/movistarplus.es/__data__/content.json
Normal file
5025
sites/movistarplus.es/__data__/content.json
Normal file
File diff suppressed because it is too large
Load Diff
374
sites/movistarplus.es/__data__/ficha.json
Normal file
374
sites/movistarplus.es/__data__/ficha.json
Normal file
@@ -0,0 +1,374 @@
|
||||
{
|
||||
"DatosAccesoAnonimo": {
|
||||
"TipoEmision": "Pase",
|
||||
"TipoComercial": "Subscripcion",
|
||||
"TipoComercial2": {
|
||||
"Tipo": "Subscripcion",
|
||||
"Descripcion": null
|
||||
},
|
||||
"Freemium": false,
|
||||
"TiposComerciales": [
|
||||
{
|
||||
"Tipo": "Subscripcion",
|
||||
"Descripcion": null
|
||||
}
|
||||
],
|
||||
"Logos": [
|
||||
{
|
||||
"id": "default",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DPBLAN/wpmos/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "default",
|
||||
"state": "over",
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DP/wpmos/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "bg_dark",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DP/wpepg/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "bg_light",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DPBLAN/wpepg/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "nobox_dark",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-NEONEGR/wpmarcaficha/SEXTA"
|
||||
}
|
||||
],
|
||||
"Precio": null,
|
||||
"HoraInicio": "1770587100000",
|
||||
"FechaFinPublicacion": null,
|
||||
"FormatoVideo": null,
|
||||
"FormatoAudio": null,
|
||||
"VersionIdioma": null,
|
||||
"HoraInicioSaltoCanal": "1770583500000",
|
||||
"HoraFinSaltoCanal": "1770605100000",
|
||||
"Subtitulos": [],
|
||||
"Subtitulos2012": [],
|
||||
"IndicadorSubtitulosSordos": null
|
||||
},
|
||||
"Id": 4235944,
|
||||
"SerialId": 63188236,
|
||||
"TipoContenido": "Episodio",
|
||||
"CodSubTipoContenido": "E",
|
||||
"SubTipoContenido": "episodio",
|
||||
"SubTipoContedor": "temporada",
|
||||
"TipoComercial": "Subscripcion",
|
||||
"Titulo": "Especial ARV... (T2026): El análisis",
|
||||
"catalogItemType": "LiveEpisode",
|
||||
"TipoComercial2": {
|
||||
"Tipo": "Subscripcion",
|
||||
"Descripcion": null
|
||||
},
|
||||
"Contenedor": {
|
||||
"Id": 4235938,
|
||||
"Path": "T-4235940|E-4235944",
|
||||
"TituloSerie": "Especial ARV elecciones Aragón",
|
||||
"Temporada": "(T2026)",
|
||||
"Ficha": "https://ottcache.dof6.com/movistarplus/webplayer/contents/4235938/details?mediaType=FOTOV&profile=OTT&mode=VODRU7D&channels=SEXTA&version=8&tlsStream=true&mdrm=true&showNonRated=true",
|
||||
"Padre": "https://ottcache.dof6.com/movistarplus/webplayer/contents/4235940/details?mediaType=FOTOV&profile=OTT&mode=VODRU7D&version=8&tlsStream=true&mdrm=true&showNonRated=true"
|
||||
},
|
||||
"TituloEpisodio": "El análisis",
|
||||
"TiposComerciales": [
|
||||
{
|
||||
"Tipo": "Subscripcion",
|
||||
"Descripcion": null
|
||||
}
|
||||
],
|
||||
"NumeroEpisodio": "01",
|
||||
"TituloEpisodioLargo": "T2026 E1 \"El análisis\"",
|
||||
"TituloVerLinea1": "Especial ARV elecciones Aragón",
|
||||
"TituloVerLinea2": "T2026 E1",
|
||||
"Directo": false,
|
||||
"Estreno": false,
|
||||
"TituloHorLinea1": "Especial ARV elecciones Aragón",
|
||||
"TituloHorLinea2": "T2026 E1 \"El análisis\"",
|
||||
"NivelMoral": null,
|
||||
"Lanzable": false,
|
||||
"TituloSeguimiento": "T2026 E1",
|
||||
"Serie": {
|
||||
"Id": 4235940,
|
||||
"SeasonId": 4235940,
|
||||
"TituloSerie": "Especial ARV elecciones Aragón",
|
||||
"Temporada": "(T2026)",
|
||||
"Ficha": "https://ottcache.dof6.com/movistarplus/webplayer/contents/4235940/details?mediaType=FOTOV&profile=OTT&mode=VODRU7D&version=8&tlsStream=true&mdrm=true&showNonRated=true",
|
||||
"Descargable": false
|
||||
},
|
||||
"ratingLabels": [],
|
||||
"IdSerie": 4235938,
|
||||
"Seguible": false,
|
||||
"OrdenacionDescendente": false,
|
||||
"Genero": {
|
||||
"ComAntena": "Política"
|
||||
},
|
||||
"Imagen": "https://estatico.emisiondof6.com/recorte/n/dispficha/MSEXTAP4235944",
|
||||
"DisponibleVOD": false,
|
||||
"Imagenes": [
|
||||
{
|
||||
"id": "default",
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/n/dispficha/MSEXTAP4235944"
|
||||
},
|
||||
{
|
||||
"id": "horizontal",
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/n/ywcatalogoh/MSEXTAT4235944"
|
||||
},
|
||||
{
|
||||
"id": "watch2tgr-start",
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/n/vegtooltip/MSEXTAF4235944.jpg"
|
||||
},
|
||||
{
|
||||
"id": "watch2tgr-end",
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/n/vegend/MSEXTAF4235944.jpg"
|
||||
}
|
||||
],
|
||||
"Competicion": {
|
||||
"Fase": null,
|
||||
"Jornada": null
|
||||
},
|
||||
"Descripcion": "Antonio García Ferreras y Ana Pastor analizan y debaten sobre el recuento y los resultados que arrojen las urnas con analistas como Lluís Orriols, Antonio Maestre, Ignacio Escolar, Pilar Velasco, Santiago Martínez Vares y Pablo Montesinos.",
|
||||
"Sinopsis": "Antonio García Ferreras y Ana Pastor analizan y debaten sobre el recuento y los resultados que arrojen las urnas con analistas como Lluís Orriols, Antonio Maestre, Ignacio Escolar, Pilar Velasco, Santiago Martínez Vares y Pablo Montesinos.",
|
||||
"Duracion": 136,
|
||||
"Nacionalidad": "España",
|
||||
"Anno": "2026",
|
||||
"Actores": null,
|
||||
"Directores": null,
|
||||
"Descargable": false,
|
||||
"Valoracion": {
|
||||
"Valoracion": 2.8,
|
||||
"Valoraciones": 33
|
||||
},
|
||||
"TituloNormalizado": "especial-arv-elecciones-aragon-t2026/el-analisis",
|
||||
"RutaNormalizada": "entretenimiento/especial-arv-elecciones-aragon-t2026/el-analisis",
|
||||
"Pases": [
|
||||
{
|
||||
"catalogItemType": "LiveEpisode",
|
||||
"HoraInicio": "1770587100000",
|
||||
"Duracion": 136,
|
||||
"HoraInicioSaltoCanal": "1770583500000",
|
||||
"Grabable": false,
|
||||
"HoraFinSaltoCanal": "1770605100000",
|
||||
"TemporadaGrabable": true,
|
||||
"Canal": {
|
||||
"CodCadenaTv": "SEXTA",
|
||||
"Nombre": "La Sexta",
|
||||
"Uid": 444099,
|
||||
"CasId": "4526",
|
||||
"ServiceUid": "717",
|
||||
"ServiceUid2": "4526",
|
||||
"ServiceId": 6,
|
||||
"PuntoReproduccion": "https://lasexta-dash-movistarplus.emisiondof6.com/manifest.mpd",
|
||||
"Logos": [
|
||||
{
|
||||
"id": "default",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DPBLAN/wpmos/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "default",
|
||||
"state": "over",
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DP/wpmos/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "bg_dark",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DP/wpepg/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "bg_light",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DPBLAN/wpepg/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "nobox_dark",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-NEONEGR/wpmarcaficha/SEXTA"
|
||||
}
|
||||
],
|
||||
"Dial": 6,
|
||||
"HomeZone": false,
|
||||
"FormatoAudio": null,
|
||||
"FormatoVideo": "HD",
|
||||
"LogoTaquilla": null,
|
||||
"Logo": "https://estatico.emisiondof6.com/recorte/m-DP/wpmos/SEXTA",
|
||||
"HDR": false,
|
||||
"EsVirtual": false,
|
||||
"CDN": "tcdn",
|
||||
"EsSatelite": false,
|
||||
"QMWatermark": false,
|
||||
"links": []
|
||||
},
|
||||
"Fase": null,
|
||||
"CodEventoRejilla": null,
|
||||
"ShowId": 63188242,
|
||||
"SerialId": 63188236,
|
||||
"tvProducts": [
|
||||
"BOBFUT2",
|
||||
"DIFUSION",
|
||||
"DO0001",
|
||||
"DO0002",
|
||||
"DO0003",
|
||||
"DO0004",
|
||||
"FUSICE",
|
||||
"MOVFAM",
|
||||
"NDDEM2",
|
||||
"NDDEMO",
|
||||
"PAQINI",
|
||||
"PR01H",
|
||||
"PR01S",
|
||||
"TRIDIS",
|
||||
"TVBACH",
|
||||
"TVBAFU",
|
||||
"TVBALI",
|
||||
"TVCOMU",
|
||||
"UTX00",
|
||||
"UTX0Y",
|
||||
"UTX1H",
|
||||
"UTX1I",
|
||||
"UTX2A",
|
||||
"UTX2C",
|
||||
"UTX2J",
|
||||
"UTX2N",
|
||||
"UTX2P",
|
||||
"UTX2Q",
|
||||
"UTX2R",
|
||||
"UTX32",
|
||||
"UTX37",
|
||||
"UTX38",
|
||||
"UTX4I",
|
||||
"UTX4N",
|
||||
"UTX4P",
|
||||
"UTX5M",
|
||||
"UTX5V",
|
||||
"UTX6C",
|
||||
"UTX7T",
|
||||
"UTX7U",
|
||||
"UTX90",
|
||||
"UTXAH",
|
||||
"UTXC7",
|
||||
"UTXC8",
|
||||
"UTXCL",
|
||||
"UTXCN",
|
||||
"UTXCP",
|
||||
"UTXD0",
|
||||
"UTXD3",
|
||||
"UTXHA",
|
||||
"UTXHB",
|
||||
"UTXHC",
|
||||
"UTXHD",
|
||||
"UTXIC",
|
||||
"UTXIE",
|
||||
"UTXIF",
|
||||
"UTXIH",
|
||||
"UTXII",
|
||||
"UTXIR",
|
||||
"UTXIS"
|
||||
],
|
||||
"BlackOutU7D": false,
|
||||
"links": [
|
||||
{
|
||||
"rel": "start-over",
|
||||
"href": "https://grmovistar.imagenio.telefonica.net/asfe/rest/tvMediaURLs?tvProgram.id=63188242&svc=startover",
|
||||
"state": null
|
||||
},
|
||||
{
|
||||
"rel": "catch-up",
|
||||
"href": "https://grmovistar.imagenio.telefonica.net/asfe/rest/tvMediaURLs?tvProgram.id=63188242&svc=cutv",
|
||||
"state": null
|
||||
},
|
||||
{
|
||||
"rel": "npvr",
|
||||
"href": "https://grmovistar.imagenio.telefonica.net/asfe/rest/tvMediaURLs?tvProgram.id=63188242&svc=npvr",
|
||||
"state": null
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"LenguajeSignos": false,
|
||||
"Upselling": "PKS--1",
|
||||
"audioDescription": {
|
||||
"available": false,
|
||||
"audios": []
|
||||
},
|
||||
"Trailers": [],
|
||||
"Eventos": [],
|
||||
"BingeWatchingAction": "none",
|
||||
"StreamTag": false,
|
||||
"VodItems": [],
|
||||
"OpcionesFavoritos": [
|
||||
{
|
||||
"Id": 63188236,
|
||||
"Family": "tv",
|
||||
"Texto": "TEMPORADA"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"rel": "mas_info",
|
||||
"href": "https://estatico.emisiondof6.com/ficha/especial-arv-elecciones-aragon-t2026/el-analisis/?tipo=E&id=4235944"
|
||||
},
|
||||
{
|
||||
"rel": "ver_ahora",
|
||||
"href": "https://ver.movistarplus.es/ficha/especial-arv-elecciones-aragon-t2026/el-analisis/?id=4235944"
|
||||
},
|
||||
{
|
||||
"rel": "shows",
|
||||
"href": "/movistarplus/contents/4235944/shows"
|
||||
},
|
||||
{
|
||||
"rel": "alternate",
|
||||
"href": "appmovistar://movistarplus.es/ficha?id=4235944&referrer=api",
|
||||
"class": "entryPoint",
|
||||
"hints": {
|
||||
"devices": [
|
||||
"android.cell",
|
||||
"iphone",
|
||||
"amazon.tv"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rel": "alternate",
|
||||
"href": "https://wl.movistarplus.es/ficha/?id=4235944&referrer=api",
|
||||
"class": "entryPoint",
|
||||
"hints": {
|
||||
"devices": [
|
||||
"web"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rel": "alternate",
|
||||
"href": "https://wl.movistarplus.es/play?id=4235944&referrer=api",
|
||||
"class": "play",
|
||||
"hints": {
|
||||
"devices": [
|
||||
"web"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rel": "untrack2",
|
||||
"href": "https://grmovistar.imagenio.telefonica.net/asfe/rest/users/bookmarks/vod/4235944",
|
||||
"hints": {
|
||||
"allow": [
|
||||
"DELETE"
|
||||
],
|
||||
"auth-req": [
|
||||
{
|
||||
"scheme": "asmgr"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rel": "self",
|
||||
"href": "https://ottcache.dof6.com/movistarplus/webplayer/contents/63188242/details?mediaType=FOTOV&profile=OTT&mode=U7D2&channels=SEXTA&version=8&tlsStream=true&mdrm=true&catalog=catchup&showNonRated=true",
|
||||
"id": 63188236
|
||||
}
|
||||
]
|
||||
}
|
||||
378
sites/movistarplus.es/__data__/ficha2.json
Normal file
378
sites/movistarplus.es/__data__/ficha2.json
Normal file
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"DatosAccesoAnonimo": {
|
||||
"TipoEmision": "Pase",
|
||||
"TipoComercial": "Subscripcion",
|
||||
"TipoComercial2": {
|
||||
"Tipo": "Subscripcion",
|
||||
"Descripcion": null
|
||||
},
|
||||
"Freemium": false,
|
||||
"TiposComerciales": [
|
||||
{
|
||||
"Tipo": "Subscripcion",
|
||||
"Descripcion": null
|
||||
}
|
||||
],
|
||||
"Logos": [
|
||||
{
|
||||
"id": "default",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DPBLAN/wpmos/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "default",
|
||||
"state": "over",
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DP/wpmos/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "bg_dark",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DP/wpepg/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "bg_light",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DPBLAN/wpepg/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "nobox_dark",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-NEONEGR/wpmarcaficha/SEXTA"
|
||||
}
|
||||
],
|
||||
"Precio": null,
|
||||
"HoraInicio": "1770669060000",
|
||||
"FechaFinPublicacion": null,
|
||||
"FormatoVideo": null,
|
||||
"FormatoAudio": null,
|
||||
"VersionIdioma": null,
|
||||
"HoraInicioSaltoCanal": "1770665460000",
|
||||
"HoraFinSaltoCanal": "1770687060000",
|
||||
"Subtitulos": [],
|
||||
"Subtitulos2012": [],
|
||||
"IndicadorSubtitulosSordos": null
|
||||
},
|
||||
"Id": 4236939,
|
||||
"SerialId": 62244130,
|
||||
"TipoContenido": "Episodio",
|
||||
"CodSubTipoContenido": "E",
|
||||
"SubTipoContenido": "episodio",
|
||||
"SubTipoContedor": "temporada",
|
||||
"TipoComercial": "Subscripcion",
|
||||
"Titulo": "El intermedio (T20): Ep.624",
|
||||
"catalogItemType": "LiveEpisode",
|
||||
"TipoComercial2": {
|
||||
"Tipo": "Subscripcion",
|
||||
"Descripcion": null
|
||||
},
|
||||
"Contenedor": {
|
||||
"Id": 901510,
|
||||
"Path": "T-4105626|E-4236939",
|
||||
"TituloSerie": "El intermedio",
|
||||
"Temporada": "(T20)",
|
||||
"Ficha": "https://ottcache.dof6.com/movistarplus/webplayer/contents/901510/details?mediaType=FOTOV&profile=OTT&mode=VODRU7D&channels=SEXTA&version=8&tlsStream=true&mdrm=true&showNonRated=true",
|
||||
"Padre": "https://ottcache.dof6.com/movistarplus/webplayer/contents/4105626/details?mediaType=FOTOV&profile=OTT&mode=VODRU7D&version=8&tlsStream=true&mdrm=true&showNonRated=true"
|
||||
},
|
||||
"TituloEpisodio": "Episodio 624",
|
||||
"TiposComerciales": [
|
||||
{
|
||||
"Tipo": "Subscripcion",
|
||||
"Descripcion": null
|
||||
}
|
||||
],
|
||||
"NumeroEpisodio": "624",
|
||||
"TituloEpisodioLargo": "T20 E624 \"Episodio 624\"",
|
||||
"TituloVerLinea1": "El intermedio",
|
||||
"TituloVerLinea2": "T20 E624",
|
||||
"Directo": false,
|
||||
"Estreno": false,
|
||||
"TituloHorLinea1": "El intermedio",
|
||||
"TituloHorLinea2": "T20 E624 \"Episodio 624\"",
|
||||
"NivelMoral": {
|
||||
"_id": "08",
|
||||
"Id": "+12",
|
||||
"Logo": "https://voddelivery.emisiondof6.com/images/logos/logos_nivelmoral/12.png"
|
||||
},
|
||||
"Lanzable": false,
|
||||
"TituloSeguimiento": "T20 E624",
|
||||
"Serie": {
|
||||
"Id": 4105626,
|
||||
"SeasonId": 4105626,
|
||||
"TituloSerie": "El intermedio",
|
||||
"Temporada": "(T20)",
|
||||
"Ficha": "https://ottcache.dof6.com/movistarplus/webplayer/contents/4105626/details?mediaType=FOTOV&profile=OTT&mode=VODRU7D&version=8&tlsStream=true&mdrm=true&showNonRated=true",
|
||||
"Descargable": false
|
||||
},
|
||||
"ratingLabels": [],
|
||||
"IdSerie": 901510,
|
||||
"Seguible": false,
|
||||
"OrdenacionDescendente": false,
|
||||
"Genero": {
|
||||
"ComAntena": "Humor"
|
||||
},
|
||||
"Imagen": "https://estatico.emisiondof6.com/recorte/n/dispficha/MSEXTAP4236939",
|
||||
"DisponibleVOD": false,
|
||||
"Imagenes": [
|
||||
{
|
||||
"id": "default",
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/n/dispficha/MSEXTAP4236939"
|
||||
},
|
||||
{
|
||||
"id": "horizontal",
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/n/ywcatalogoh/MSEXTAT4236939"
|
||||
},
|
||||
{
|
||||
"id": "watch2tgr-start",
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/n/vegtooltip/MSEXTAF4236939.jpg"
|
||||
},
|
||||
{
|
||||
"id": "watch2tgr-end",
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/n/vegend/MSEXTAF4236939.jpg"
|
||||
}
|
||||
],
|
||||
"Competicion": {
|
||||
"Fase": null,
|
||||
"Jornada": null
|
||||
},
|
||||
"Descripcion": "El Gran Wyoming, con la ayuda de sus colaboradores, analiza en clave de humor las noticias más importantes del día. El sello inconfundible del cómico sirve para completar la información desde un punto de vista más distendido e irónico.",
|
||||
"Sinopsis": "El Gran Wyoming, con la ayuda de sus colaboradores, analiza en clave de humor las noticias más importantes del día. El sello inconfundible del cómico sirve para completar la información desde un punto de vista más distendido e irónico.",
|
||||
"Duracion": 93,
|
||||
"Nacionalidad": "España",
|
||||
"Anno": "2025",
|
||||
"Actores": null,
|
||||
"Directores": null,
|
||||
"Descargable": false,
|
||||
"Valoracion": {
|
||||
"Valoracion": 3,
|
||||
"Valoraciones": 30
|
||||
},
|
||||
"TituloNormalizado": "el-intermedio-t20/episodio-624",
|
||||
"RutaNormalizada": "entretenimiento/el-intermedio-t20/episodio-624",
|
||||
"Pases": [
|
||||
{
|
||||
"catalogItemType": "LiveEpisode",
|
||||
"HoraInicio": "1770669060000",
|
||||
"Duracion": 93,
|
||||
"HoraInicioSaltoCanal": "1770665460000",
|
||||
"Grabable": false,
|
||||
"HoraFinSaltoCanal": "1770687060000",
|
||||
"TemporadaGrabable": true,
|
||||
"Canal": {
|
||||
"CodCadenaTv": "SEXTA",
|
||||
"Nombre": "La Sexta",
|
||||
"Uid": 444099,
|
||||
"CasId": "4526",
|
||||
"ServiceUid": "717",
|
||||
"ServiceUid2": "4526",
|
||||
"ServiceId": 6,
|
||||
"PuntoReproduccion": "https://lasexta-dash-movistarplus.emisiondof6.com/manifest.mpd",
|
||||
"Logos": [
|
||||
{
|
||||
"id": "default",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DPBLAN/wpmos/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "default",
|
||||
"state": "over",
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DP/wpmos/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "bg_dark",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DP/wpepg/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "bg_light",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-DPBLAN/wpepg/SEXTA"
|
||||
},
|
||||
{
|
||||
"id": "nobox_dark",
|
||||
"state": null,
|
||||
"uri": "https://estatico.emisiondof6.com/recorte/m-NEONEGR/wpmarcaficha/SEXTA"
|
||||
}
|
||||
],
|
||||
"Dial": 6,
|
||||
"HomeZone": false,
|
||||
"FormatoAudio": null,
|
||||
"FormatoVideo": "HD",
|
||||
"LogoTaquilla": null,
|
||||
"Logo": "https://estatico.emisiondof6.com/recorte/m-DP/wpmos/SEXTA",
|
||||
"HDR": false,
|
||||
"EsVirtual": false,
|
||||
"CDN": "tcdn",
|
||||
"EsSatelite": false,
|
||||
"QMWatermark": false,
|
||||
"links": []
|
||||
},
|
||||
"Fase": null,
|
||||
"CodEventoRejilla": null,
|
||||
"ShowId": 63182873,
|
||||
"SerialId": 62244130,
|
||||
"tvProducts": [
|
||||
"BOBFUT2",
|
||||
"DIFUSION",
|
||||
"DO0001",
|
||||
"DO0002",
|
||||
"DO0003",
|
||||
"DO0004",
|
||||
"FUSICE",
|
||||
"MOVFAM",
|
||||
"NDDEM2",
|
||||
"NDDEMO",
|
||||
"PAQINI",
|
||||
"PR01H",
|
||||
"PR01S",
|
||||
"TRIDIS",
|
||||
"TVBACH",
|
||||
"TVBAFU",
|
||||
"TVBALI",
|
||||
"TVCOMU",
|
||||
"UTX00",
|
||||
"UTX0Y",
|
||||
"UTX1H",
|
||||
"UTX1I",
|
||||
"UTX2A",
|
||||
"UTX2C",
|
||||
"UTX2J",
|
||||
"UTX2N",
|
||||
"UTX2P",
|
||||
"UTX2Q",
|
||||
"UTX2R",
|
||||
"UTX32",
|
||||
"UTX37",
|
||||
"UTX38",
|
||||
"UTX4I",
|
||||
"UTX4N",
|
||||
"UTX4P",
|
||||
"UTX5M",
|
||||
"UTX5V",
|
||||
"UTX6C",
|
||||
"UTX7T",
|
||||
"UTX7U",
|
||||
"UTX90",
|
||||
"UTXAH",
|
||||
"UTXC7",
|
||||
"UTXC8",
|
||||
"UTXCL",
|
||||
"UTXCN",
|
||||
"UTXCP",
|
||||
"UTXD0",
|
||||
"UTXD3",
|
||||
"UTXHA",
|
||||
"UTXHB",
|
||||
"UTXHC",
|
||||
"UTXHD",
|
||||
"UTXIC",
|
||||
"UTXIE",
|
||||
"UTXIF",
|
||||
"UTXIH",
|
||||
"UTXII",
|
||||
"UTXIR",
|
||||
"UTXIS"
|
||||
],
|
||||
"BlackOutU7D": false,
|
||||
"links": [
|
||||
{
|
||||
"rel": "start-over",
|
||||
"href": "https://grmovistar.imagenio.telefonica.net/asfe/rest/tvMediaURLs?tvProgram.id=63182873&svc=startover",
|
||||
"state": null
|
||||
},
|
||||
{
|
||||
"rel": "catch-up",
|
||||
"href": "https://grmovistar.imagenio.telefonica.net/asfe/rest/tvMediaURLs?tvProgram.id=63182873&svc=cutv",
|
||||
"state": null
|
||||
},
|
||||
{
|
||||
"rel": "npvr",
|
||||
"href": "https://grmovistar.imagenio.telefonica.net/asfe/rest/tvMediaURLs?tvProgram.id=63182873&svc=npvr",
|
||||
"state": null
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"LenguajeSignos": false,
|
||||
"Upselling": "PKS--1",
|
||||
"audioDescription": {
|
||||
"available": false,
|
||||
"audios": []
|
||||
},
|
||||
"Trailers": [],
|
||||
"Eventos": [],
|
||||
"BingeWatchingAction": "none",
|
||||
"StreamTag": false,
|
||||
"VodItems": [],
|
||||
"OpcionesFavoritos": [
|
||||
{
|
||||
"Id": 62244130,
|
||||
"Family": "tv",
|
||||
"Texto": "TEMPORADA"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"rel": "mas_info",
|
||||
"href": "https://estatico.emisiondof6.com/ficha/el-intermedio-t20/episodio-624/?tipo=E&id=4236939"
|
||||
},
|
||||
{
|
||||
"rel": "ver_ahora",
|
||||
"href": "https://ver.movistarplus.es/ficha/el-intermedio-t20/episodio-624/?id=4236939"
|
||||
},
|
||||
{
|
||||
"rel": "shows",
|
||||
"href": "/movistarplus/contents/4236939/shows"
|
||||
},
|
||||
{
|
||||
"rel": "alternate",
|
||||
"href": "appmovistar://movistarplus.es/ficha?id=4236939&referrer=api",
|
||||
"class": "entryPoint",
|
||||
"hints": {
|
||||
"devices": [
|
||||
"android.cell",
|
||||
"iphone",
|
||||
"amazon.tv"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rel": "alternate",
|
||||
"href": "https://wl.movistarplus.es/ficha/?id=4236939&referrer=api",
|
||||
"class": "entryPoint",
|
||||
"hints": {
|
||||
"devices": [
|
||||
"web"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rel": "alternate",
|
||||
"href": "https://wl.movistarplus.es/play?id=4236939&referrer=api",
|
||||
"class": "play",
|
||||
"hints": {
|
||||
"devices": [
|
||||
"web"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rel": "untrack2",
|
||||
"href": "https://grmovistar.imagenio.telefonica.net/asfe/rest/users/bookmarks/rec/63182873",
|
||||
"hints": {
|
||||
"allow": [
|
||||
"DELETE"
|
||||
],
|
||||
"auth-req": [
|
||||
{
|
||||
"scheme": "asmgr"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rel": "self",
|
||||
"href": "https://ottcache.dof6.com/movistarplus/webplayer/contents/63182873/details?mediaType=FOTOV&profile=OTT&mode=VODREJILLA&channels=SEXTA&version=8&tlsStream=true&mdrm=true&catalog=events&showNonRated=true",
|
||||
"id": 63182873
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,181 +1,141 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="movistarplus.es" site_id="7tvmur" lang="es" xmltv_id="">7 TV Región Murcia</channel>
|
||||
<channel site="movistarplus.es" site_id="13tv" lang="es" xmltv_id="">TRECE</channel>
|
||||
<channel site="movistarplus.es" site_id="24h" lang="es" xmltv_id="">24 Horas</channel>
|
||||
<channel site="movistarplus.es" site_id="3_24" lang="es" xmltv_id="">3 24</channel>
|
||||
<channel site="movistarplus.es" site_id="a3" lang="es" xmltv_id="">Antena 3</channel>
|
||||
<channel site="movistarplus.es" site_id="aljaze" lang="es" xmltv_id="">Al Jazeera English</channel>
|
||||
<channel site="movistarplus.es" site_id="andatv" lang="es" xmltv_id="">Andalucía TV</channel>
|
||||
<channel site="movistarplus.es" site_id="antv" lang="es" xmltv_id="">Canal Sur Andalucía</channel>
|
||||
<channel site="movistarplus.es" site_id="apunt" lang="es" xmltv_id="">À Punt</channel>
|
||||
<channel site="movistarplus.es" site_id="aragon" lang="es" xmltv_id="">Aragón TV Int</channel>
|
||||
<channel site="movistarplus.es" site_id="aragtv" lang="es" xmltv_id="">Aragón TV</channel>
|
||||
<channel site="movistarplus.es" site_id="arirhd" lang="es" xmltv_id="">Arirang TV HD</channel>
|
||||
<channel site="movistarplus.es" site_id="arthur" lang="es" xmltv_id="">M+ Deportes 2</channel>
|
||||
<channel site="movistarplus.es" site_id="atress" lang="es" xmltv_id="">Atreseries</channel>
|
||||
<channel site="movistarplus.es" site_id="axn" lang="es" xmltv_id="">AXN</channel>
|
||||
<channel site="movistarplus.es" site_id="baby" lang="es" xmltv_id="">Baby TV</channel>
|
||||
<channel site="movistarplus.es" site_id="bbc" lang="es" xmltv_id="">BBC World</channel>
|
||||
<channel site="movistarplus.es" site_id="bbdra" lang="es" xmltv_id="">BBC Drama</channel>
|
||||
<channel site="movistarplus.es" site_id="bbfoo" lang="es" xmltv_id="">BBC Food</channel>
|
||||
<channel site="movistarplus.es" site_id="bbgea" lang="es" xmltv_id="">BBC Top Gear</channel>
|
||||
<channel site="movistarplus.es" site_id="bbhis" lang="es" xmltv_id="">BBC History</channel>
|
||||
<channel site="movistarplus.es" site_id="bemad" lang="es" xmltv_id="">BE MAD</channel>
|
||||
<channel site="movistarplus.es" site_id="bl" lang="es" xmltv_id="">Bloomberg</channel>
|
||||
<channel site="movistarplus.es" site_id="boing" lang="es" xmltv_id="">Boing</channel>
|
||||
<channel site="movistarplus.es" site_id="btv" lang="es" xmltv_id="">Betevé</channel>
|
||||
<channel site="movistarplus.es" site_id="c4" lang="es" xmltv_id="">Cuatro</channel>
|
||||
<channel site="movistarplus.es" site_id="c33" lang="es" xmltv_id="">SX3</channel>
|
||||
<channel site="movistarplus.es" site_id="can33" lang="es" xmltv_id="">33</channel>
|
||||
<channel site="movistarplus.es" site_id="canar" lang="es" xmltv_id="">TV Canaria</channel>
|
||||
<channel site="movistarplus.es" site_id="cansur" lang="es" xmltv_id="">Canal Sur</channel>
|
||||
<channel site="movistarplus.es" site_id="casman" lang="es" xmltv_id="">Castilla la Mancha TV</channel>
|
||||
<channel site="movistarplus.es" site_id="cazpes" lang="es" xmltv_id="">Caza y Pesca</channel>
|
||||
<channel site="movistarplus.es" site_id="cctv-e" lang="es" xmltv_id="">CGTN Español</channel>
|
||||
<channel site="movistarplus.es" site_id="cgtnd" lang="es" xmltv_id="">CGTN Documentary</channel>
|
||||
<channel site="movistarplus.es" site_id="cgtndo" lang="es" xmltv_id="">CGTN Documentary HD</channel>
|
||||
<channel site="movistarplus.es" site_id="cgtnen" lang="es" xmltv_id="">CGTN English HD</channel>
|
||||
<channel site="movistarplus.es" site_id="cgtnfr" lang="es" xmltv_id="">CGTN Français HD</channel>
|
||||
<channel site="movistarplus.es" site_id="chap1" lang="es" xmltv_id="">M+ Liga de Campeones 2</channel>
|
||||
<channel site="movistarplus.es" site_id="chap2" lang="es" xmltv_id="">M+ Liga de Campeones 3</channel>
|
||||
<channel site="movistarplus.es" site_id="chap3" lang="es" xmltv_id="">M+ Liga de Campeones 4</channel>
|
||||
<channel site="movistarplus.es" site_id="chap4" lang="es" xmltv_id="">M+ Liga de Campeones 5</channel>
|
||||
<channel site="movistarplus.es" site_id="chap5" lang="es" xmltv_id="">M+ Liga de Campeones 6</channel>
|
||||
<channel site="movistarplus.es" site_id="chap6" lang="es" xmltv_id="">M+ Liga de Campeones 7</channel>
|
||||
<channel site="movistarplus.es" site_id="chap7" lang="es" xmltv_id="">M+ Liga de Campeones 8</channel>
|
||||
<channel site="movistarplus.es" site_id="chap8" lang="es" xmltv_id="">M+ Liga de Campeones 9</channel>
|
||||
<channel site="movistarplus.es" site_id="chap9" lang="es" xmltv_id="">M+ Liga de Campeones 10</channel>
|
||||
<channel site="movistarplus.es" site_id="chap10" lang="es" xmltv_id="">M+ Liga de Campeones 11</channel>
|
||||
<channel site="movistarplus.es" site_id="chap11" lang="es" xmltv_id="">M+ Liga de Campeones 12</channel>
|
||||
<channel site="movistarplus.es" site_id="chap12" lang="es" xmltv_id="">M+ Liga de Campeones 13</channel>
|
||||
<channel site="movistarplus.es" site_id="chapio" lang="es" xmltv_id="">M+ Liga de Campeones</channel>
|
||||
<channel site="movistarplus.es" site_id="chile" lang="es" xmltv_id="">TV Chile</channel>
|
||||
<channel site="movistarplus.es" site_id="cl13" lang="es" xmltv_id="">Calle 13</channel>
|
||||
<channel site="movistarplus.es" site_id="clantv" lang="es" xmltv_id="">Clan TVE</channel>
|
||||
<channel site="movistarplus.es" site_id="classd" lang="es" xmltv_id="">Classica</channel>
|
||||
<channel site="movistarplus.es" site_id="cnn" lang="es" xmltv_id="">CNN Int</channel>
|
||||
<channel site="movistarplus.es" site_id="colomb" lang="es" xmltv_id="">TV Colombia</channel>
|
||||
<channel site="movistarplus.es" site_id="cosmo" lang="es" xmltv_id="">COSMO</channel>
|
||||
<channel site="movistarplus.es" site_id="cpacci" lang="es" xmltv_id="">M+ Acción</channel>
|
||||
<channel site="movistarplus.es" site_id="cpcole" lang="es" xmltv_id="">M+ Drama</channel>
|
||||
<channel site="movistarplus.es" site_id="cpcome" lang="es" xmltv_id="">M+ Comedia</channel>
|
||||
<channel site="movistarplus.es" site_id="cpdep" lang="es" xmltv_id="">M+ Deportes</channel>
|
||||
<channel site="movistarplus.es" site_id="csurhd" lang="es" xmltv_id="">Canal Sur HD</channel>
|
||||
<channel site="movistarplus.es" site_id="cubav" lang="es" xmltv_id="">Cubavisión</channel>
|
||||
<channel site="movistarplus.es" site_id="cyltv" lang="es" xmltv_id="">La 7</channel>
|
||||
<channel site="movistarplus.es" site_id="dayst" lang="es" xmltv_id="">Daystar Español HD</channel>
|
||||
<channel site="movistarplus.es" site_id="dazn3" lang="es" xmltv_id="">DAZN 3</channel>
|
||||
<channel site="movistarplus.es" site_id="dazn4" lang="es" xmltv_id="">DAZN 4</channel>
|
||||
<channel site="movistarplus.es" site_id="daznl2" lang="es" xmltv_id="">DAZN LALIGA 2</channel>
|
||||
<channel site="movistarplus.es" site_id="daznli" lang="es" xmltv_id="">DAZN LALIGA</channel>
|
||||
<channel site="movistarplus.es" site_id="dcesp" lang="es" xmltv_id="">M+ Cine Español</channel>
|
||||
<channel site="movistarplus.es" site_id="dch" lang="es" xmltv_id="">Disney Channel</channel>
|
||||
<channel site="movistarplus.es" site_id="dcr" lang="es" xmltv_id="">Discovery</channel>
|
||||
<channel site="movistarplus.es" site_id="dcrmax" lang="es" xmltv_id="">DMAX</channel>
|
||||
<channel site="movistarplus.es" site_id="divini" lang="es" xmltv_id="">Divinity</channel>
|
||||
<channel site="movistarplus.es" site_id="dkiss" lang="es" xmltv_id="">DKISS</channel>
|
||||
<channel site="movistarplus.es" site_id="dwsp" lang="es" xmltv_id="">Dreamworks</channel>
|
||||
<channel site="movistarplus.es" site_id="energy" lang="es" xmltv_id="">Energy</channel>
|
||||
<channel site="movistarplus.es" site_id="enw" lang="es" xmltv_id="">Euronews</channel>
|
||||
<channel site="movistarplus.es" site_id="esp" lang="es" xmltv_id="">Eurosport 1</channel>
|
||||
<channel site="movistarplus.es" site_id="esp2" lang="es" xmltv_id="">Eurosport 2</channel>
|
||||
<channel site="movistarplus.es" site_id="esp3" lang="es" xmltv_id="">Esport 3</channel>
|
||||
<channel site="movistarplus.es" site_id="esp4k" lang="es" xmltv_id="">Eurosport 4K</channel>
|
||||
<channel site="movistarplus.es" site_id="etb" lang="es" xmltv_id="">EITB Basque</channel>
|
||||
<channel site="movistarplus.es" site_id="etb1" lang="es" xmltv_id="">ETB 1</channel>
|
||||
<channel site="movistarplus.es" site_id="etb2" lang="es" xmltv_id="">ETB 2</channel>
|
||||
<channel site="movistarplus.es" site_id="etb3" lang="es" xmltv_id="">ETB 3</channel>
|
||||
<channel site="movistarplus.es" site_id="ewtn" lang="es" xmltv_id="">EWTN</channel>
|
||||
<channel site="movistarplus.es" site_id="extre" lang="es" xmltv_id="">Canal Extremadura</channel>
|
||||
<channel site="movistarplus.es" site_id="extrem" lang="es" xmltv_id="">Canal Extremadura Sat</channel>
|
||||
<channel site="movistarplus.es" site_id="fdfic" lang="es" xmltv_id="">Factoría de Ficción</channel>
|
||||
<channel site="movistarplus.es" site_id="foxge" lang="es" xmltv_id="">STAR Channel</channel>
|
||||
<channel site="movistarplus.es" site_id="france" lang="es" xmltv_id="">FRANCE24 (FR)</channel>
|
||||
<channel site="movistarplus.es" site_id="futrep" lang="es" xmltv_id="">Canal Fútbol Replay</channel>
|
||||
<channel site="movistarplus.es" site_id="galav" lang="es" xmltv_id="">Canal de las Estrellas</channel>
|
||||
<channel site="movistarplus.es" site_id="garage" lang="es" xmltv_id="">El Garage TV</channel>
|
||||
<channel site="movistarplus.es" site_id="gol" lang="es" xmltv_id="">GOL PLAY</channel>
|
||||
<channel site="movistarplus.es" site_id="golf2" lang="es" xmltv_id="">M+ Golf 2</channel>
|
||||
<channel site="movistarplus.es" site_id="golf+" lang="es" xmltv_id="">M+ Golf</channel>
|
||||
<channel site="movistarplus.es" site_id="hdtq10" lang="es" xmltv_id="">Alquiler HD</channel>
|
||||
<channel site="movistarplus.es" site_id="ib3" lang="es" xmltv_id="">IB3</channel>
|
||||
<channel site="movistarplus.es" site_id="iberal" lang="es" xmltv_id="">Iberalia TV</channel>
|
||||
<channel site="movistarplus.es" site_id="inteco" lang="es" xmltv_id="">El Toro TV</channel>
|
||||
<channel site="movistarplus.es" site_id="inteua" lang="es" xmltv_id="">1+1 Internacional</channel>
|
||||
<channel site="movistarplus.es" site_id="la2" lang="es" xmltv_id="">LA 2</channel>
|
||||
<channel site="movistarplus.es" site_id="m1sd" lang="es" xmltv_id="">DAZN 1</channel>
|
||||
<channel site="movistarplus.es" site_id="m2sd" lang="es" xmltv_id="">DAZN 2</channel>
|
||||
<channel site="movistarplus.es" site_id="maxava" lang="es" xmltv_id="">Max Avances</channel>
|
||||
<channel site="movistarplus.es" site_id="mcapra" lang="es" xmltv_id="">M+E: Demi Moore</channel>
|
||||
<channel site="movistarplus.es" site_id="mclas" lang="es" xmltv_id="">M+ Clásicos</channel>
|
||||
<channel site="movistarplus.es" site_id="mcopa" lang="es" xmltv_id="">M+ Copa del Rey</channel>
|
||||
<channel site="movistarplus.es" site_id="mdoc" lang="es" xmltv_id="">M+ Documentales</channel>
|
||||
<channel site="movistarplus.es" site_id="medite" lang="es" xmltv_id="">La Ocho TV</channel>
|
||||
<channel site="movistarplus.es" site_id="mega" lang="es" xmltv_id="">Mega</channel>
|
||||
<channel site="movistarplus.es" site_id="mellav" lang="es" xmltv_id="">M+ Ellas V</channel>
|
||||
<channel site="movistarplus.es" site_id="mezzli" lang="es" xmltv_id="">Mezzo Live</channel>
|
||||
<channel site="movistarplus.es" site_id="mezzo" lang="es" xmltv_id="">Mezzo</channel>
|
||||
<channel site="movistarplus.es" site_id="mgoya" lang="es" xmltv_id="">M+ Los Goya</channel>
|
||||
<channel site="movistarplus.es" site_id="mindi" lang="es" xmltv_id="">M+ Indie</channel>
|
||||
<channel site="movistarplus.es" site_id="mlig1" lang="es" xmltv_id="">M+ LALIGA TV 2</channel>
|
||||
<channel site="movistarplus.es" site_id="mlig2" lang="es" xmltv_id="">M+ LALIGA TV 3</channel>
|
||||
<channel site="movistarplus.es" site_id="mlig3" lang="es" xmltv_id="">M+ LALIGA TV 4</channel>
|
||||
<channel site="movistarplus.es" site_id="mliga" lang="es" xmltv_id="">M+ LALIGA TV</channel>
|
||||
<channel site="movistarplus.es" site_id="mligs" lang="es" xmltv_id="">LALIGA TV HYPERMOTION</channel>
|
||||
<channel site="movistarplus.es" site_id="mligs2" lang="es" xmltv_id="">LALIGA TV HYPERMOTION 2</channel>
|
||||
<channel site="movistarplus.es" site_id="mligs3" lang="es" xmltv_id="">LALIGA TV HYPERMOTION 3</channel>
|
||||
<channel site="movistarplus.es" site_id="mliguh" lang="es" xmltv_id="">M+ LALIGA TV UHD</channel>
|
||||
<channel site="movistarplus.es" site_id="morig" lang="es" xmltv_id="">M+ Originales</channel>
|
||||
<channel site="movistarplus.es" site_id="mplus" lang="es" xmltv_id="">Movistar Plus+</channel>
|
||||
<channel site="movistarplus.es" site_id="mplus2" lang="es" xmltv_id="">Movistar Plus+ 2</channel>
|
||||
<channel site="movistarplus.es" site_id="mtv" lang="es" xmltv_id="">MTV</channel>
|
||||
<channel site="movistarplus.es" site_id="multi6" lang="es" xmltv_id="">M+ Deportes 7</channel>
|
||||
<channel site="movistarplus.es" site_id="multi8" lang="es" xmltv_id="">M+ Deportes 6</channel>
|
||||
<channel site="movistarplus.es" site_id="mv1" lang="es" xmltv_id="">M+ Cine</channel>
|
||||
<channel site="movistarplus.es" site_id="mv2" lang="es" xmltv_id="">M+ Series</channel>
|
||||
<channel site="movistarplus.es" site_id="mvf1" lang="es" xmltv_id="">DAZN F1</channel>
|
||||
<channel site="movistarplus.es" site_id="natgeo" lang="es" xmltv_id="">National Geographic</channel>
|
||||
<channel site="movistarplus.es" site_id="natgw" lang="es" xmltv_id="">Nat Geo Wild</channel>
|
||||
<channel site="movistarplus.es" site_id="nava" lang="es" xmltv_id="">Navarra TV</channel>
|
||||
<channel site="movistarplus.es" site_id="nbc" lang="es" xmltv_id="">CNBC</channel>
|
||||
<channel site="movistarplus.es" site_id="negotv" lang="es" xmltv_id="">Negocios TV</channel>
|
||||
<channel site="movistarplus.es" site_id="neox" lang="es" xmltv_id="">Neox</channel>
|
||||
<channel site="movistarplus.es" site_id="nick" lang="es" xmltv_id="">Nickelodeon</channel>
|
||||
<channel site="movistarplus.es" site_id="nickjr" lang="es" xmltv_id="">NICK JR</channel>
|
||||
<channel site="movistarplus.es" site_id="nova" lang="es" xmltv_id="">Nova</channel>
|
||||
<channel site="movistarplus.es" site_id="otra" lang="es" xmltv_id="">La Otra</channel>
|
||||
<channel site="movistarplus.es" site_id="parch" lang="es" xmltv_id="">Paramount Network</channel>
|
||||
<channel site="movistarplus.es" site_id="pcm" lang="es" xmltv_id="">Comedy Central</channel>
|
||||
<channel site="movistarplus.es" site_id="playdc" lang="es" xmltv_id="">Disney Junior</channel>
|
||||
<channel site="movistarplus.es" site_id="realm" lang="es" xmltv_id="">Real Madrid TV</channel>
|
||||
<channel site="movistarplus.es" site_id="resist" lang="es" xmltv_id="">La Resistencia</channel>
|
||||
<channel site="movistarplus.es" site_id="sci-fi" lang="es" xmltv_id="">SYFY</channel>
|
||||
<channel site="movistarplus.es" site_id="set" lang="es" xmltv_id="">AXN Movies</channel>
|
||||
<channel site="movistarplus.es" site_id="sexta" lang="es" xmltv_id="">La Sexta</channel>
|
||||
<channel site="movistarplus.es" site_id="skynw" lang="es" xmltv_id="">Sky News</channel>
|
||||
<channel site="movistarplus.es" site_id="skysho" lang="es" xmltv_id="">SkyShowtime 1</channel>
|
||||
<channel site="movistarplus.es" site_id="t5" lang="es" xmltv_id="">Telecinco</channel>
|
||||
<channel site="movistarplus.es" site_id="tcm" lang="es" xmltv_id="">TCM</channel>
|
||||
<channel site="movistarplus.es" site_id="tdep" lang="es" xmltv_id="">Teledeporte</channel>
|
||||
<channel site="movistarplus.es" site_id="telmad" lang="es" xmltv_id="">Telemadrid</channel>
|
||||
<channel site="movistarplus.es" site_id="telmin" lang="es" xmltv_id="">Telemadrid Int.</channel>
|
||||
<channel site="movistarplus.es" site_id="ten" lang="es" xmltv_id="">Ten</channel>
|
||||
<channel site="movistarplus.es" site_id="tlesur" lang="es" xmltv_id="">Telesur</channel>
|
||||
<channel site="movistarplus.es" site_id="tnt" lang="es" xmltv_id="">Warner TV</channel>
|
||||
<channel site="movistarplus.es" site_id="tpa" lang="es" xmltv_id="">TPA</channel>
|
||||
<channel site="movistarplus.es" site_id="tq1" lang="es" xmltv_id="">Alquiler 1</channel>
|
||||
<channel site="movistarplus.es" site_id="tv3cat" lang="es" xmltv_id="">TV3</channel>
|
||||
<channel site="movistarplus.es" site_id="tv5" lang="es" xmltv_id="">TV5MONDE</channel>
|
||||
<channel site="movistarplus.es" site_id="tvc" lang="es" xmltv_id="">TV3 Cat</channel>
|
||||
<channel site="movistarplus.es" site_id="tve" lang="es" xmltv_id="">LA 1</channel>
|
||||
<channel site="movistarplus.es" site_id="tvg" lang="es" xmltv_id="">TVG Europa</channel>
|
||||
<channel site="movistarplus.es" site_id="tvg2" lang="es" xmltv_id="">TVG 2</channel>
|
||||
<channel site="movistarplus.es" site_id="tvgal" lang="es" xmltv_id="">TVG -TV Galicia</channel>
|
||||
<channel site="movistarplus.es" site_id="ubeat" lang="es" xmltv_id="">Ubeat</channel>
|
||||
<channel site="movistarplus.es" site_id="usop2" lang="es" xmltv_id="">M+ Deportes 3</channel>
|
||||
<channel site="movistarplus.es" site_id="usop3" lang="es" xmltv_id="">M+ Deportes 4</channel>
|
||||
<channel site="movistarplus.es" site_id="usop11" lang="es" xmltv_id="">M+ Deportes 5</channel>
|
||||
<channel site="movistarplus.es" site_id="vamosd" lang="es" xmltv_id="">M+ Vamos</channel>
|
||||
<channel site="movistarplus.es" site_id="vh1" lang="es" xmltv_id="">MTV 00s</channel>
|
||||
<channel site="movistarplus.es" site_id="13TV" lang="es" xmltv_id="">TRECE</channel>
|
||||
<channel site="movistarplus.es" site_id="24H" lang="es" xmltv_id="">24 Horas</channel>
|
||||
<channel site="movistarplus.es" site_id="A3" lang="es" xmltv_id="">Antena 3</channel>
|
||||
<channel site="movistarplus.es" site_id="ALJAZE" lang="es" xmltv_id="">Al Jazeera English</channel>
|
||||
<channel site="movistarplus.es" site_id="ANTV" lang="es" xmltv_id="">Canal Sur Andalucía</channel>
|
||||
<channel site="movistarplus.es" site_id="ARAGON" lang="es" xmltv_id="">Aragón TV Int</channel>
|
||||
<channel site="movistarplus.es" site_id="ARTHUR" lang="es" xmltv_id="">M+ Deportes 2</channel>
|
||||
<channel site="movistarplus.es" site_id="ATRESS" lang="es" xmltv_id="">Atreseries</channel>
|
||||
<channel site="movistarplus.es" site_id="AXN" lang="es" xmltv_id="">AXN</channel>
|
||||
<channel site="movistarplus.es" site_id="BABY" lang="es" xmltv_id="">Baby TV</channel>
|
||||
<channel site="movistarplus.es" site_id="BBC" lang="es" xmltv_id="">BBC News</channel>
|
||||
<channel site="movistarplus.es" site_id="BBCEAR" lang="es" xmltv_id="">BBC Earth</channel>
|
||||
<channel site="movistarplus.es" site_id="BBCLIF" lang="es" xmltv_id="">BBC Lifestyle</channel>
|
||||
<channel site="movistarplus.es" site_id="BBDRA" lang="es" xmltv_id="">BBC Series</channel>
|
||||
<channel site="movistarplus.es" site_id="BBFOO" lang="es" xmltv_id="">BBC Food</channel>
|
||||
<channel site="movistarplus.es" site_id="BBGEA" lang="es" xmltv_id="">BBC Top Gear</channel>
|
||||
<channel site="movistarplus.es" site_id="BBHIS" lang="es" xmltv_id="">BBC History</channel>
|
||||
<channel site="movistarplus.es" site_id="BEMAD" lang="es" xmltv_id="">BE MAD</channel>
|
||||
<channel site="movistarplus.es" site_id="BL" lang="es" xmltv_id="">Bloomberg</channel>
|
||||
<channel site="movistarplus.es" site_id="BOING" lang="es" xmltv_id="">Boing</channel>
|
||||
<channel site="movistarplus.es" site_id="C4" lang="es" xmltv_id="">Cuatro</channel>
|
||||
<channel site="movistarplus.es" site_id="CAZPES" lang="es" xmltv_id="">Caza y Pesca</channel>
|
||||
<channel site="movistarplus.es" site_id="CCTV-E" lang="es" xmltv_id="">CGTN Español</channel>
|
||||
<channel site="movistarplus.es" site_id="CHAP1" lang="es" xmltv_id="">M+ Liga de Campeones 2</channel>
|
||||
<channel site="movistarplus.es" site_id="CHAP2" lang="es" xmltv_id="">M+ Liga de Campeones 3</channel>
|
||||
<channel site="movistarplus.es" site_id="CHAP3" lang="es" xmltv_id="">M+ Liga de Campeones 4</channel>
|
||||
<channel site="movistarplus.es" site_id="CHAP4" lang="es" xmltv_id="">M+ Liga de Campeones 5</channel>
|
||||
<channel site="movistarplus.es" site_id="CHAP5" lang="es" xmltv_id="">M+ Liga de Campeones 6</channel>
|
||||
<channel site="movistarplus.es" site_id="CHAP6" lang="es" xmltv_id="">M+ Liga de Campeones 7</channel>
|
||||
<channel site="movistarplus.es" site_id="CHAP7" lang="es" xmltv_id="">M+ Liga de Campeones 8</channel>
|
||||
<channel site="movistarplus.es" site_id="CHAP8" lang="es" xmltv_id="">M+ Liga de Campeones 9</channel>
|
||||
<channel site="movistarplus.es" site_id="CHAP9" lang="es" xmltv_id="">M+ Liga de Campeones 10</channel>
|
||||
<channel site="movistarplus.es" site_id="CHAP10" lang="es" xmltv_id="">M+ Liga de Campeones 11</channel>
|
||||
<channel site="movistarplus.es" site_id="CHAP11" lang="es" xmltv_id="">M+ Liga de Campeones 12</channel>
|
||||
<channel site="movistarplus.es" site_id="CHAP12" lang="es" xmltv_id="">M+ Liga de Campeones 13</channel>
|
||||
<channel site="movistarplus.es" site_id="CHAPIO" lang="es" xmltv_id="">M+ Liga de Campeones</channel>
|
||||
<channel site="movistarplus.es" site_id="CL13" lang="es" xmltv_id="">Calle 13</channel>
|
||||
<channel site="movistarplus.es" site_id="CLANTV" lang="es" xmltv_id="">Clan TVE</channel>
|
||||
<channel site="movistarplus.es" site_id="CLASSD" lang="es" xmltv_id="">Classica</channel>
|
||||
<channel site="movistarplus.es" site_id="CNN" lang="es" xmltv_id="">CNN Int</channel>
|
||||
<channel site="movistarplus.es" site_id="COSMO" lang="es" xmltv_id="">COSMO</channel>
|
||||
<channel site="movistarplus.es" site_id="CPACCI" lang="es" xmltv_id="">M+ Acción</channel>
|
||||
<channel site="movistarplus.es" site_id="CPCOLE" lang="es" xmltv_id="">M+ Drama</channel>
|
||||
<channel site="movistarplus.es" site_id="CPCOME" lang="es" xmltv_id="">M+ Comedia</channel>
|
||||
<channel site="movistarplus.es" site_id="CPDEP" lang="es" xmltv_id="">M+ Deportes</channel>
|
||||
<channel site="movistarplus.es" site_id="DAZB2" lang="es" xmltv_id="">DAZN Baloncesto 2</channel>
|
||||
<channel site="movistarplus.es" site_id="DAZB3" lang="es" xmltv_id="">DAZN Baloncesto 3</channel>
|
||||
<channel site="movistarplus.es" site_id="DAZBA" lang="es" xmltv_id="">DAZN Baloncesto</channel>
|
||||
<channel site="movistarplus.es" site_id="DAZN3" lang="es" xmltv_id="">DAZN 3</channel>
|
||||
<channel site="movistarplus.es" site_id="DAZN4" lang="es" xmltv_id="">DAZN 4</channel>
|
||||
<channel site="movistarplus.es" site_id="DAZNL2" lang="es" xmltv_id="">DAZN LALIGA 2</channel>
|
||||
<channel site="movistarplus.es" site_id="DAZNLI" lang="es" xmltv_id="">DAZN LALIGA</channel>
|
||||
<channel site="movistarplus.es" site_id="DCESP" lang="es" xmltv_id="">M+ Cine Español</channel>
|
||||
<channel site="movistarplus.es" site_id="DCR" lang="es" xmltv_id="">Discovery</channel>
|
||||
<channel site="movistarplus.es" site_id="DCRMAX" lang="es" xmltv_id="">DMAX</channel>
|
||||
<channel site="movistarplus.es" site_id="DIVINI" lang="es" xmltv_id="">Divinity</channel>
|
||||
<channel site="movistarplus.es" site_id="DKISS" lang="es" xmltv_id="">DKISS</channel>
|
||||
<channel site="movistarplus.es" site_id="DWSP" lang="es" xmltv_id="">Dreamworks</channel>
|
||||
<channel site="movistarplus.es" site_id="ENERGY" lang="es" xmltv_id="">Energy</channel>
|
||||
<channel site="movistarplus.es" site_id="ENW" lang="es" xmltv_id="">Euronews</channel>
|
||||
<channel site="movistarplus.es" site_id="ESP" lang="es" xmltv_id="">Eurosport 1</channel>
|
||||
<channel site="movistarplus.es" site_id="ESP2" lang="es" xmltv_id="">Eurosport 2</channel>
|
||||
<channel site="movistarplus.es" site_id="ETB" lang="es" xmltv_id="">EITB Basque</channel>
|
||||
<channel site="movistarplus.es" site_id="EXTREM" lang="es" xmltv_id="">Canal Extremadura Sat</channel>
|
||||
<channel site="movistarplus.es" site_id="FDFIC" lang="es" xmltv_id="">Factoría de Ficción</channel>
|
||||
<channel site="movistarplus.es" site_id="FLIX1" lang="es" xmltv_id="">Canal FlixOlé 1</channel>
|
||||
<channel site="movistarplus.es" site_id="FLIX2" lang="es" xmltv_id="">Canal FlixOlé 2</channel>
|
||||
<channel site="movistarplus.es" site_id="FOXGE" lang="es" xmltv_id="">STAR Channel</channel>
|
||||
<channel site="movistarplus.es" site_id="FRANCE" lang="es" xmltv_id="">FRANCE24 (FR)</channel>
|
||||
<channel site="movistarplus.es" site_id="GARAGE" lang="es" xmltv_id="">El Garage TV</channel>
|
||||
<channel site="movistarplus.es" site_id="GOL" lang="es" xmltv_id="">GOL</channel>
|
||||
<channel site="movistarplus.es" site_id="GOLF2" lang="es" xmltv_id="">M+ Golf 2</channel>
|
||||
<channel site="movistarplus.es" site_id="GOLF+" lang="es" xmltv_id="">M+ Golf</channel>
|
||||
<channel site="movistarplus.es" site_id="INTECO" lang="es" xmltv_id="">El Toro TV</channel>
|
||||
<channel site="movistarplus.es" site_id="INTEUA" lang="es" xmltv_id="">1+1 Internacional</channel>
|
||||
<channel site="movistarplus.es" site_id="LA2" lang="es" xmltv_id="">LA 2</channel>
|
||||
<channel site="movistarplus.es" site_id="M1SD" lang="es" xmltv_id="">DAZN 1</channel>
|
||||
<channel site="movistarplus.es" site_id="M2SD" lang="es" xmltv_id="">DAZN 2</channel>
|
||||
<channel site="movistarplus.es" site_id="MAXAVA" lang="es" xmltv_id="">HBO Max Avances</channel>
|
||||
<channel site="movistarplus.es" site_id="MCIBE" lang="es" xmltv_id="">M+ Cine bélico</channel>
|
||||
<channel site="movistarplus.es" site_id="MCLAS" lang="es" xmltv_id="">M+ Clásicos</channel>
|
||||
<channel site="movistarplus.es" site_id="MCOPA" lang="es" xmltv_id="">Primera Federación</channel>
|
||||
<channel site="movistarplus.es" site_id="MDOC" lang="es" xmltv_id="">M+ Documentales</channel>
|
||||
<channel site="movistarplus.es" site_id="MEGA" lang="es" xmltv_id="">Mega</channel>
|
||||
<channel site="movistarplus.es" site_id="MELLAV" lang="es" xmltv_id="">M+ Ellas V</channel>
|
||||
<channel site="movistarplus.es" site_id="MEZZLI" lang="es" xmltv_id="">Mezzo Live</channel>
|
||||
<channel site="movistarplus.es" site_id="MEZZO" lang="es" xmltv_id="">Mezzo</channel>
|
||||
<channel site="movistarplus.es" site_id="MHITS" lang="es" xmltv_id="">M+ Hits</channel>
|
||||
<channel site="movistarplus.es" site_id="MINDI" lang="es" xmltv_id="">M+ Indie</channel>
|
||||
<channel site="movistarplus.es" site_id="MLIG1" lang="es" xmltv_id="">M+ LALIGA 2</channel>
|
||||
<channel site="movistarplus.es" site_id="MLIG2" lang="es" xmltv_id="">M+ LALIGA 3</channel>
|
||||
<channel site="movistarplus.es" site_id="MLIG3" lang="es" xmltv_id="">M+ LALIGA 4</channel>
|
||||
<channel site="movistarplus.es" site_id="MLIGA" lang="es" xmltv_id="">M+ LALIGA</channel>
|
||||
<channel site="movistarplus.es" site_id="MLIGS" lang="es" xmltv_id="">LALIGA TV HYPERMOTION</channel>
|
||||
<channel site="movistarplus.es" site_id="MLIGS2" lang="es" xmltv_id="">LALIGA TV HYPERMOTION 2</channel>
|
||||
<channel site="movistarplus.es" site_id="MLIGS3" lang="es" xmltv_id="">LALIGA TV HYPERMOTION 3</channel>
|
||||
<channel site="movistarplus.es" site_id="MORIG" lang="es" xmltv_id="">M+ Originales</channel>
|
||||
<channel site="movistarplus.es" site_id="MPLUS" lang="es" xmltv_id="">Movistar Plus+</channel>
|
||||
<channel site="movistarplus.es" site_id="MTV" lang="es" xmltv_id="">MTV</channel>
|
||||
<channel site="movistarplus.es" site_id="MULTI6" lang="es" xmltv_id="">M+ Deportes 7</channel>
|
||||
<channel site="movistarplus.es" site_id="MULTI8" lang="es" xmltv_id="">M+ Deportes 6</channel>
|
||||
<channel site="movistarplus.es" site_id="MULTI9" lang="es" xmltv_id="">M+ Deportes 8</channel>
|
||||
<channel site="movistarplus.es" site_id="MV1" lang="es" xmltv_id="">M+ Estrenos</channel>
|
||||
<channel site="movistarplus.es" site_id="MVF1" lang="es" xmltv_id="">DAZN F1</channel>
|
||||
<channel site="movistarplus.es" site_id="NATGEO" lang="es" xmltv_id="">National Geographic</channel>
|
||||
<channel site="movistarplus.es" site_id="NATGW" lang="es" xmltv_id="">Nat Geo Wild</channel>
|
||||
<channel site="movistarplus.es" site_id="NBC" lang="es" xmltv_id="">CNBC</channel>
|
||||
<channel site="movistarplus.es" site_id="NEGOTV" lang="es" xmltv_id="">Negocios TV</channel>
|
||||
<channel site="movistarplus.es" site_id="NEOX" lang="es" xmltv_id="">Neox</channel>
|
||||
<channel site="movistarplus.es" site_id="NICK" lang="es" xmltv_id="">Nickelodeon</channel>
|
||||
<channel site="movistarplus.es" site_id="NICKJR" lang="es" xmltv_id="">NICK JR</channel>
|
||||
<channel site="movistarplus.es" site_id="NOVA" lang="es" xmltv_id="">Nova</channel>
|
||||
<channel site="movistarplus.es" site_id="PCM" lang="es" xmltv_id="">Comedy Central</channel>
|
||||
<channel site="movistarplus.es" site_id="PLAYDC" lang="es" xmltv_id="">Disney Junior</channel>
|
||||
<channel site="movistarplus.es" site_id="REALM" lang="es" xmltv_id="">Real Madrid TV</channel>
|
||||
<channel site="movistarplus.es" site_id="SCI-FI" lang="es" xmltv_id="">SYFY</channel>
|
||||
<channel site="movistarplus.es" site_id="SET" lang="es" xmltv_id="">AXN Movies</channel>
|
||||
<channel site="movistarplus.es" site_id="SEXTA" lang="es" xmltv_id="">La Sexta</channel>
|
||||
<channel site="movistarplus.es" site_id="SKYSHO" lang="es" xmltv_id="">SkyShowtime 1</channel>
|
||||
<channel site="movistarplus.es" site_id="SQUI" lang="es" xmltv_id="">Squirrel</channel>
|
||||
<channel site="movistarplus.es" site_id="T5" lang="es" xmltv_id="">Telecinco</channel>
|
||||
<channel site="movistarplus.es" site_id="TCM" lang="es" xmltv_id="">TCM</channel>
|
||||
<channel site="movistarplus.es" site_id="TDEP" lang="es" xmltv_id="">Teledeporte</channel>
|
||||
<channel site="movistarplus.es" site_id="TELMIN" lang="es" xmltv_id="">Telemadrid Int.</channel>
|
||||
<channel site="movistarplus.es" site_id="TEN" lang="es" xmltv_id="">Ten</channel>
|
||||
<channel site="movistarplus.es" site_id="TNT" lang="es" xmltv_id="">Warner TV</channel>
|
||||
<channel site="movistarplus.es" site_id="TV5" lang="es" xmltv_id="">TV5MONDE</channel>
|
||||
<channel site="movistarplus.es" site_id="TVC" lang="es" xmltv_id="">TV3 Cat</channel>
|
||||
<channel site="movistarplus.es" site_id="TVE" lang="es" xmltv_id="">LA 1</channel>
|
||||
<channel site="movistarplus.es" site_id="TVG" lang="es" xmltv_id="">TVG Europa</channel>
|
||||
<channel site="movistarplus.es" site_id="UBEAT" lang="es" xmltv_id="">Ubeat</channel>
|
||||
<channel site="movistarplus.es" site_id="UCL" lang="es" xmltv_id="">UCL</channel>
|
||||
<channel site="movistarplus.es" site_id="USOP2" lang="es" xmltv_id="">M+ Deportes 3</channel>
|
||||
<channel site="movistarplus.es" site_id="USOP3" lang="es" xmltv_id="">M+ Deportes 4</channel>
|
||||
<channel site="movistarplus.es" site_id="USOP11" lang="es" xmltv_id="">M+ Deportes 5</channel>
|
||||
<channel site="movistarplus.es" site_id="VAM2SD" lang="es" xmltv_id="">M+ Vamos 2</channel>
|
||||
<channel site="movistarplus.es" site_id="VAMOSD" lang="es" xmltv_id="">M+ Vamos</channel>
|
||||
<channel site="movistarplus.es" site_id="VEO7" lang="es" xmltv_id="">Veo7</channel>
|
||||
</channels>
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
const axios = require('axios')
|
||||
const cheerio = require('cheerio')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const timezone = require('dayjs/plugin/timezone')
|
||||
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
dayjs.extend(utc)
|
||||
dayjs.extend(timezone)
|
||||
dayjs.tz.setDefault('Europe/Madrid')
|
||||
|
||||
module.exports = {
|
||||
site: 'movistarplus.es',
|
||||
days: 2,
|
||||
url({ channel, date }) {
|
||||
return `https://www.movistarplus.es/programacion-tv/${channel.site_id}/${date.format('YYYY-MM-DD')}`
|
||||
return `https://ottcache.dof6.com/movistarplus/webplayer/OTT/epg?from=${date.format('YYYY-MM-DDTHH:mm:ss')}&span=1&channel=${channel.site_id}&version=8&mdrm=true&tlsstream=true&demarcation=18`
|
||||
},
|
||||
request: {
|
||||
headers: {
|
||||
@@ -23,122 +22,82 @@ module.exports = {
|
||||
},
|
||||
maxRedirects: 5
|
||||
},
|
||||
async parser({ content, date }) {
|
||||
async parser({ content }) {
|
||||
let programs = []
|
||||
const $ = cheerio.load(content)
|
||||
|
||||
const programDivs = $('div[id^="ele-"]').toArray()
|
||||
|
||||
for (let i = 0; i < programDivs.length; i++) {
|
||||
const el = $(programDivs[i])
|
||||
|
||||
const title = el.find('li.title').text().trim()
|
||||
if (!title) continue
|
||||
|
||||
const timeText = el.find('li.time').text().trim()
|
||||
if (!timeText) continue
|
||||
|
||||
const [hours, minutes] = timeText.split(':').map(h => parseInt(h, 10))
|
||||
|
||||
// Parse time in Spain timezone (Europe/Madrid)
|
||||
let startDate = dayjs.tz(
|
||||
`${date.format('YYYY-MM-DD')} ${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`,
|
||||
'YYYY-MM-DD HH:mm',
|
||||
'Europe/Madrid'
|
||||
)
|
||||
|
||||
// If the time is in early morning (before 5 AM), it's the next day
|
||||
if (hours < 5) {
|
||||
startDate = startDate.add(1, 'day')
|
||||
}
|
||||
|
||||
// Calculate end time from next program's start time
|
||||
let endDate
|
||||
if (i < programDivs.length - 1) {
|
||||
const nextEl = $(programDivs[i + 1])
|
||||
const nextTimeText = nextEl.find('li.time').text().trim()
|
||||
if (nextTimeText) {
|
||||
const [nextHours, nextMinutes] = nextTimeText.split(':').map(h => parseInt(h, 10))
|
||||
endDate = dayjs.tz(
|
||||
`${date.format('YYYY-MM-DD')} ${nextHours.toString().padStart(2, '0')}:${nextMinutes.toString().padStart(2, '0')}`,
|
||||
'YYYY-MM-DD HH:mm',
|
||||
'Europe/Madrid'
|
||||
)
|
||||
|
||||
// If the next time is in early morning (before 5 AM), it's the next day
|
||||
if (nextHours < 5) {
|
||||
endDate = endDate.add(1, 'day')
|
||||
}
|
||||
|
||||
// If end time is still before or same as start time, add another day
|
||||
if (endDate.isBefore(startDate) || endDate.isSame(startDate)) {
|
||||
endDate = endDate.add(1, 'day')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If no end time, use start of next day
|
||||
if (!endDate) {
|
||||
endDate = startDate.add(1, 'day').startOf('day')
|
||||
}
|
||||
|
||||
const programLink = el.find('a').attr('href')
|
||||
let description = null
|
||||
|
||||
if (programLink) {
|
||||
description = await getProgramDescription(programLink).catch(() => null)
|
||||
}
|
||||
let items = await parseItems(content)
|
||||
if (!items.length) return programs
|
||||
|
||||
items.forEach(el => {
|
||||
programs.push({
|
||||
title,
|
||||
description,
|
||||
start: startDate,
|
||||
stop: endDate
|
||||
title: el.title,
|
||||
description: el.description,
|
||||
season: el.season,
|
||||
episode: el.episode,
|
||||
start: el.start,
|
||||
stop: el.stop
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
return programs
|
||||
|
||||
},
|
||||
async channels() {
|
||||
const html = await axios
|
||||
.get('https://www.movistarplus.es/programacion-tv', {
|
||||
headers: {
|
||||
'User-Agent':
|
||||
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
|
||||
Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
|
||||
}
|
||||
})
|
||||
const json = await axios
|
||||
.get('https://ottcache.dof6.com/movistarplus/webplayer/OTT/contents/channels?mdrm=true&tlsstream=true&demarcation=18&version=8')
|
||||
.then(r => r.data)
|
||||
.catch(console.log)
|
||||
|
||||
const $ = cheerio.load(html)
|
||||
let scheme = $('script:contains(ItemList)').html()
|
||||
scheme = JSON.parse(scheme)
|
||||
|
||||
return scheme.itemListElement.map(el => {
|
||||
const urlParts = el.item.url.split('/')
|
||||
const site_id = urlParts.pop().toLowerCase()
|
||||
|
||||
// Load JSON, CodCadenaTv is the closest to the old MVSTR site ch. ID
|
||||
return json.map(channel => {
|
||||
return {
|
||||
lang: 'es',
|
||||
name: el.item.name,
|
||||
site_id
|
||||
site_id: channel.CodCadenaTv,
|
||||
name: channel.Nombre,
|
||||
logo: channel.Logo ? channel.Logos[0].url : null
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
async function getProgramDescription(programUrl) {
|
||||
const response = await axios.get(programUrl, {
|
||||
headers: {
|
||||
'User-Agent':
|
||||
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
|
||||
Referer: 'https://www.movistarplus.es/programacion-tv/'
|
||||
}
|
||||
})
|
||||
|
||||
const $ = cheerio.load(response.data)
|
||||
const description = $('.show-content .text p').first().text().trim() || null
|
||||
|
||||
return description
|
||||
async function parseItems(content) {
|
||||
try {
|
||||
const data = JSON.parse(content)
|
||||
const programs = Array.isArray(data) ? data : [data]
|
||||
return await Promise.all(programs.map(async (json) => {
|
||||
const start = dayjs.utc(Number(json?.FechaHoraInicio))
|
||||
const stop = dayjs.utc(Number(json?.FechaHoraFin))
|
||||
const ficha = json?.Ficha || null
|
||||
if (!ficha) {
|
||||
return {
|
||||
title: json?.Titulo || '',
|
||||
description: json?.Resena || '',
|
||||
start,
|
||||
stop
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
const fichaJson = await axios.get(ficha).then(r => r.data)
|
||||
return {
|
||||
title: json?.Titulo || fichaJson?.Titulo || '',
|
||||
description: fichaJson?.Descripcion || json?.Resena || '',
|
||||
actors: fichaJson?.Actores || [],
|
||||
directors: fichaJson?.Directores || [],
|
||||
classification: fichaJson?.Clasificacion || '',
|
||||
season: fichaJson?.Temporada || null,
|
||||
episode: fichaJson?.NumeroEpisodio || null,
|
||||
start,
|
||||
stop
|
||||
}
|
||||
} catch {
|
||||
return {
|
||||
title: json?.Titulo || '',
|
||||
description: json?.Resena || '',
|
||||
start,
|
||||
stop
|
||||
}
|
||||
}
|
||||
}
|
||||
}))
|
||||
} catch {
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ dayjs.extend(utc)
|
||||
const axios = require('axios')
|
||||
jest.mock('axios')
|
||||
|
||||
const date = dayjs.utc('2025-05-30', 'YYYY-MM-DD').startOf('d')
|
||||
const date = dayjs.utc('2026-02-09', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = {
|
||||
site_id: 'sexta',
|
||||
xmltv_id: 'LaSexta.es'
|
||||
@@ -17,32 +17,31 @@ const channel = {
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ channel, date })).toBe(
|
||||
'https://www.movistarplus.es/programacion-tv/sexta/2025-05-30'
|
||||
'https://ottcache.dof6.com/movistarplus/webplayer/OTT/epg?from=2026-02-09T00:00:00&span=1&channel=sexta&version=8&mdrm=true&tlsstream=true&demarcation=18'
|
||||
)
|
||||
})
|
||||
|
||||
it('can parse response', async () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'))
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'), 'utf8')
|
||||
|
||||
// Ficha for both results
|
||||
axios.get.mockImplementation(url => {
|
||||
if (
|
||||
url ===
|
||||
'https://www.movistarplus.es/entretenimiento/venta-prime-t1/ficha?tipo=E&id=3414523'
|
||||
'https://ottcache.dof6.com/movistarplus/webplayer/contents/63188242/details?mediaType=FOTOV&profile=OTT&mode=U7D2&channels=SEXTA&version=8&tlsStream=true&mdrm=true&catalog=catchup&showNonRated=true'
|
||||
) {
|
||||
return Promise.resolve({
|
||||
data: fs.readFileSync(path.resolve(__dirname, '__data__/program1.html'))
|
||||
data: JSON.parse(fs.readFileSync(path.resolve(__dirname, '__data__/ficha.json'), 'utf8'))
|
||||
})
|
||||
} else if (
|
||||
url ===
|
||||
'https://www.movistarplus.es/deportes/programa/pokerstars-casino-1/ficha?tipo=E&id=2057641'
|
||||
url === 'https://ottcache.dof6.com/movistarplus/webplayer/contents/63182873/details?mediaType=FOTOV&profile=OTT&mode=VODREJILLA&channels=SEXTA&version=8&tlsStream=true&mdrm=true&catalog=events&showNonRated=true'
|
||||
) {
|
||||
return Promise.resolve({
|
||||
data: fs.readFileSync(path.resolve(__dirname, '__data__/program2.html'))
|
||||
data: JSON.parse(fs.readFileSync(path.resolve(__dirname, '__data__/ficha2.json'), 'utf8'))
|
||||
})
|
||||
} else {
|
||||
return Promise.resolve({ data: '' })
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
let results = await parser({ content, date })
|
||||
results = results.map(p => {
|
||||
@@ -51,20 +50,18 @@ it('can parse response', async () => {
|
||||
return p
|
||||
})
|
||||
|
||||
expect(results.length).toBe(23)
|
||||
expect(results.length).toBe(21)
|
||||
expect(results[0]).toMatchObject({
|
||||
start: '2025-05-30T03:15:00.000Z',
|
||||
stop: '2025-05-30T04:25:00.000Z',
|
||||
title: 'Venta Prime',
|
||||
description:
|
||||
'Espacio de televenta.'
|
||||
start: '2026-02-08T21:45:00.000Z',
|
||||
stop: '2026-02-09T00:30:00.000Z',
|
||||
title: 'Especial ARV elecciones Aragón',
|
||||
description: 'Antonio García Ferreras y Ana Pastor analizan y debaten sobre el recuento y los resultados que arrojen las urnas con analistas como Lluís Orriols, Antonio Maestre, Ignacio Escolar, Pilar Velasco, Santiago Martínez Vares y Pablo Montesinos.'
|
||||
})
|
||||
expect(results[19]).toMatchObject({
|
||||
start: '2025-05-31T00:45:00.000Z',
|
||||
stop: '2025-05-31T01:25:00.000Z',
|
||||
title: 'Pokerstars casino',
|
||||
description:
|
||||
'El programa trae cada día toda la emoción de su ruleta en vivo, Spin & Win, una versión exclusiva del clásico juego de casino.'
|
||||
start: '2026-02-09T20:30:00.000Z',
|
||||
stop: '2026-02-09T22:00:00.000Z',
|
||||
title: 'El intermedio',
|
||||
description: 'El Gran Wyoming, con la ayuda de sus colaboradores, analiza en clave de humor las noticias más importantes del día. El sello inconfundible del cómico sirve para completar la información desde un punto de vista más distendido e irónico.'
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user