Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cambio de web de movistar para exportar programación #6

Open
kralizeck opened this issue Aug 5, 2018 · 23 comments
Open

cambio de web de movistar para exportar programación #6

kralizeck opened this issue Aug 5, 2018 · 23 comments

Comments

@kralizeck
Copy link

Hola.

El link que usa tvhstar para obtener la guía ya no funciona:
http://comunicacion.movistarplus.es/guiaProgramacion/exportarProgramacion

Lo han cambiado por un link que abre una ventana desde esta página:
http://comunicacion.movistarplus.es/programacion/

Saludos.

@LuisPalacios
Copy link
Owner

Muchas gracias

@kralizeck
Copy link
Author

Bicheando un poco, usando el depurador del chrome, he visto que la web a la que hace el post es:
http://comunicacion.movistarplus.es/wp-admin/admin-post.php

y he probado a sacar el xml de un día de todos los canales con curl:

curl -d "@data.txt" -X POST http://comunicacion.movistarplus.es/wp-admin/admin-post.php -o export.a.mano.xml

Este es el data.txt que es la parte del Form Data que he sacado desde Network del depurador del chrome. En formato URL encoded: data.txt

Éste es el xml recibido (añadida extensión .txt para poder subirlo aquí): export.a.mano.xml.txt

Espero que sirva.

Saludos.

@LuisPalacios
Copy link
Owner

LuisPalacios commented Aug 6, 2018

Hola. Qué buena pinta tiene eso. En un vistazo rápido al post (data.txt) ... ¿estás pidiendo 1 día y todos los canales (o mucho vamos...)? es correcto?. Lo que obtienes es la programación en formato XML verdad?.

Llevo mucho tiempo sin tocarlo y tengo que refrescar :-), pero si es así tiene muy buena pinta. En principio desde ahí podría convertirse relativamente fácil a formato que le guste a Tvheadend?

@kralizeck
Copy link
Author

Hola.

Sí, el data.txt es de un día, todos los canales seleccionados en la página http://comunicacion.movistarplus.es/programacion/ y exportación a xml.

Como curiosidad, en el selector de canales a incluir en la exportación, me parece que no aparecen casi ninguno de los propios de movistar (#0, cine, series, etc...), pero sí están en el xml exportado. Creo que muchos los incluyen "por defecto".

Lo estudiaré más a fondo para hacer una lista completa de canales y los id que usa la página de exportación.

Todo en lo que pueda ayudar para actualizar tvhstar, no dudes en pedírmelo. No tengo muchos conocimientos de programación web, pero puedo ocuparme de identificar canales o cosas así.

Y muchas gracias por el proyecto, lo he estado usando desde diciembre pasado y me ha venido muy bien.

Saludos.

@LuisPalacios
Copy link
Owner

Muchas gracias, a ver si puedo meterme esta semana con esto y le doy una vuelta por mi lado y te voy comentado.

@kralizeck
Copy link
Author

Hola.

He seguido investigando un poco el nuevo armado de canales y es incorrecto lo que dije antes de que algunos los exporta "por defecto". En la web de programación (http://comunicacion.movistarplus.es/programacion/ link "Exportar programación) se pueden seleccionar 116 canales y esos son los que se tiene en el xml exportado.
En la de diales hay 174 (http://www.movistarplus.es/diales).

He preparado un txt con los 174 canales (incluídos los sólo-fibra y sólo-satélite), ordenados por dial, con el id de movistar, nombre del canal y link de picons pequeños y grandes de la web de movistar:
174 canales - id, diales, canales, picon-peque, picon-grande.txt

Y otro txt con los 116 canales que se pueden exportar desde la web de programación, ordenados alfabéticamente:
116 canales - exportables.txt

Estoy haciendo algunas pruebas un poco chapuzas (bueno, muuyy chapuzas, en realidad), comparando un xml "antiguo" que, por suerte, tenía por ahí olvidado con uno de los nuevos para que tvhstar.sh lo pase a xmltvh y tvheadend lo importe. Aún me quedan por pulir algunas cosas, pero la idea es un script bash o unos cuantos comandos que hagan lo siguiente:

  1. con curl exportar guia.movistar-xml.xml
  2. editar el xml para que tvhstar lo pueda convertir a json
  3. lanzar tvhstar.sh pero que no realice la descarga del xml, que vaya directamente a la conversión en json y xmltv
  4. automatizar todo esto en un script de bash (el node.js me queda muy lejos...) y que se ejecute por cron

Ya iré comentando.

Saludos.

@kralizeck
Copy link
Author

Y otro txt más con 206 canales ordenados alfabéticamente, en formato
id <> nombre_de_canal
ejemplo:
PRPA4K <> M. Partidazo 4K

Está sacado de la página http://comunicacion.movistarplus.es/programacion/ pinchando en el botón "Canales" y mirando el código html.
Qué enredos de canales que tiene movistar...

206 canales - id y nombre.txt

@Sockolet
Copy link

Hola ¿existe solución a este problema? Llevo un par de semanas sufriendo este problema y me muero de ganas por volver a tener la guia disponible 💃

@kralizeck
Copy link
Author

kralizeck commented Aug 21, 2018

Hola.

Yo estoy "parcheando" tvhstar (con mis conocimientos y muuuchooo google) para intentar tener la guía actualizada.

En este fork del proyecto de Luis he puesto los archivos modificados/nuevos (he borrado todo lo demás):
https://github.com/kralizeck/tvhstar

Por las pruebas que he ido haciendo, tengo la impresión de que la página de exportación está medio en obras. En el xml que genera suelen estar repetidos casi todos los pases. Algunos los he encontrado repetidos 6 veces... con lo que genera un fichero medio monstruosos, más los enredos para los siguientes pasos.

Y otro problema (creo que grave) que he encontrado es que, en el xml exportado desde la web (o desde consola por curl, da igual), los pases de una cadena no están correctamente ordenados por hora, dentro de cada día (salvo en el el canal RT HD... ). Un ejemplo para el día 24 de #0, con un extracto del pase inicial del día (de principo de la mañana), los pases centrales (donde salta de la noche del 24 a la madrugada del 24) y el pase final (que pasa de principio de la mañana del 24 a principios de la mañana del 25):

extracto de pases y horas para #0 el día 24: [enredos-horas.txt](https://github.com/LuisPalacios/tvhstar/files/2307712/enredos-horas.txt]

¿Alguna idea/sugerencia/inspiración de cómo reordenar correctamente este galimatías horario?

Saludos.

@kralizeck
Copy link
Author

Ya lo tengo resuelto (muy, pero que muy chapuzas, pero funciona). Mañana pongo el "engendro" en el fork, que ya estoy sin pilas y me bailan las letras en el monitor...

guia

@kralizeck
Copy link
Author

Hola.

Ya está todo publicado en el fork .

Como avisaba, es muy chapuzas... un verdadero "engendro" de bash, perl y node.js.... pero funcionar, funciona. ;-)

Saludos.

@Sockolet
Copy link

Gracias crack!! Cuando tenga oportunidad lo pruebo (espero que hoy o mañana).

:D

@gedas07
Copy link

gedas07 commented Aug 24, 2018

Muchisimas gracias , pero podrias poner un mini tutorial de como aplicarlo ,
Yo tengo instalado el anterior , y he copiado los archivos al directorio , y ahora no se que hacer ( soy un poco novato en el tema de linux), cuando hago npm run start me da un mogollon de errores
`1 - Descarga del EPG XML Movistar - OK
2 - Leyendo el fichero XML de movistar /tmp/guia.movistar-xml.xml
events.js:160
throw er; // Unhandled 'error' event
^

Error: ENOENT: no such file or directory, open '/home/fernan/incoming/piniculas/wetek/tvhstar/tvheadend/tvHOME.m3u'
at Error (native)

npm ERR! Linux 4.9.0-6-amd64
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "run" "start"
npm ERR! node v6.14.3
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: node build/server.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script 'node build/server.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the tvhstar package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node build/server.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs tvhstar
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls tvhstar
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /home/gedas07/tvhstar/npm-debug.log
`
Y no se si lo he hecho bien , o solo hay que ejecutar tu script .
si ejecuto tu script me sale
~/tvhstar$./parche-epg.sh 7
bash: ./parche-epg.sh: /usr/local/bin/bash: intérprete erróneo: No existe el fichero o el directorio

Muchas gracias de nuevo

@kralizeck
Copy link
Author

Hola.
Te ayudo encantao y creo que lo tuyo tiene fácil solución. Estoy revisando el script y la documentación.
Pero mejor abre un pull request en el fork.
Así no mezclamos cosas.
Saludos

@gedas07
Copy link

gedas07 commented Aug 24, 2018

Ya he abierto el pull request .
Muchisimas gracias por la ayuda

@kralizeck
Copy link
Author

Ufff... creo que la estoy liando con mi ignorancia en el uso de git y github... lo siento @LuisPalacios
Estoy creando un nuevo proyecto que no sea fork de tvhstar, así no se enredan uno con otro.

@gedas07 cierra el pull request que has creado (está en el proyecto tvhstar) y en un rato pongo los links del nuevo proyecto.

@kralizeck
Copy link
Author

Ya he creado el nuevo proyecto tvhstar-parche-epg y archivado el fork (siempre habrá tiempo para borrarlo).

@gedas07 ya puedes poner un Issue con los errores.

@gedas07
Copy link

gedas07 commented Aug 24, 2018

voy a probar a ver si soy capaz

@kralizeck
Copy link
Author

Hola.

Sólo para que estéis avisados. He encontrado un fallo en el orden de los pases entre las 00:00h y las 06:00h... aquí lo explico un poco más "incoherencia de horarios"

El "desorden" de pases dentro de un día no es tal... es una lógica "rarita" de movistar...

Saludos.

@pablozg
Copy link

pablozg commented Sep 30, 2018

Hola, ante todo dar las gracias a @kralizeck por su enorme trabajo en adaptar el script a la nueva url, dicho esto he subido a mi fork la adaptación del código de @LuisPalacios para usar la nueva url, añadir que he modificado bastante el parser de los pases para adaptarlos a mis gustos particulares, por lo que si queréis dejarlo tal y como lo tiene @LuisPalacios solo tendréis que copiar el fichero movistar.js, copiar la función convierteXMLaJSON de mi script en utils.js así como mirar los cambios realizados en la función convierteJSONaJSONTV para adaptarlos a la función original de @LuisPalacios.

Tras leer el trabajo realizado por @kralizeck he comprobado que los pases que tienen la fecha incorrectamente son los existentes desde las 00:00 hasta las 06:00, por lo que a esos pases les modifico la fecha y he comprobado manualmente la programación de tres canales (AXN,TNT y FOX) y se corresponden perfectamente con la información que obtengo desde las paginas de El Mundo y El País.

https://github.com/pablozg/tvhstar

Espero que os sea de utilidad y un saludo.

@Darius82
Copy link

Darius82 commented Oct 9, 2018

Hola, ante todo dar las gracias a @kralizeck por su enorme trabajo en adaptar el script a la nueva url, dicho esto he subido a mi fork la adaptación del código de @LuisPalacios para usar la nueva url, añadir que he modificado bastante el parser de los pases para adaptarlos a mis gustos particulares, por lo que si queréis dejarlo tal y como lo tiene @LuisPalacios solo tendréis que copiar el fichero movistar.js, copiar la función convierteXMLaJSON de mi script en utils.js así como mirar los cambios realizados en la función convierteJSONaJSONTV para adaptarlos a la función original de @LuisPalacios.

Tras leer el trabajo realizado por @kralizeck he comprobado que los pases que tienen la fecha incorrectamente son los existentes desde las 00:00 hasta las 06:00, por lo que a esos pases les modifico la fecha y he comprobado manualmente la programación de tres canales (AXN,TNT y FOX) y se corresponden perfectamente con la información que obtengo desde las paginas de El Mundo y El País.

https://github.com/pablozg/tvhstar

Espero que os sea de utilidad y un saludo.

Hola Pablo, he intentado compilar tu fork pero me da muchos errores. Perdona que te conteste aquí.

`dario@ubuntusrv:~/tvhstar_nuevo$ sudo npm run build
[sudo] password for dario:

[email protected] build /home/dario/tvhstar_nuevo
babel src -d build

sh: 1: babel: not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! [email protected] build: babel src -d build
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR! /home/dario/.npm/_logs/2018-10-09T10_09_52_231Z-debug.log`

@pablozg
Copy link

pablozg commented Oct 9, 2018

Hola @Darius82, el problema está en que no tienes instalado el modulo de node "babel", para ello tienes que ejecutar dentro /home/dario/tvhstar_nuevo el comando "npm install babel", en el caso de que te indicara otro error del mismo tipo, el comando seria el mismo pero cambiando "babel" por el nombre del modulo que te falte.

Saludos.

@Darius82
Copy link

Darius82 commented Oct 9, 2018

Muchas gracias por tu ayuda, ahora que me lo comentas me fijo en la línea del warning y sugiere la instalación. Soy desarrollador pero no he catado nodejs, lo que me deja un poco pez ante errores de este tipo.

Gracias a tu apunte ya sé qué es babel y tengo un poquito más de conocimiento. Gracias

P.D: El proyecto me dijo que el paquete babel está obsoleto. Debemos instalar el paquete babel-cli

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants