PDA

Ver la Versión Completa : [ CONSULTA ] Actualización automática canales IPTV en KODI (ANDROID TV)


dj_janker
12/04/16, 15:35:14
Pues eso,
me pregunto si sería posible de automatizar la actualización automática de los Playlist de canales IPTV en KODI instalado sobre un Android TV, mediante Taker.
Normalmente suelo utilizar los playlist de sitios como: http://iptvapps.blogspot.com.es/2015/10/playlist-sports-download-list.html

Que te aportan un enlace a pastebin que hay que copiar y abrir en una nueva ventana, seleccionar todo el contenido del playlist y guardar en la carpeta correspondiente de KODI con la extensión .m3u
La idea sería usar siempre el mismo nombre de archivo generado para ir sobreescribiéndolo.

Una manera tosca de crear la tarea sería :
1º- Usar un comando Abrir Url para acceder a dicha web.
2º- Luego mediante con un par de comandos "imput tap" desde Ejecutar consola, en la posición del enlace más alto selecionaríamos la url de pastebin.
3º- Ese enlace abría que meterlo en una variable que pasaríamos a una nueva acción Abrir Url.
4º- Ahora solo nos faltaría seleccionar todo (esto no tengo ni idea de como hacerlo....:cry:)
5º- Lo siguiente sería copiar el texto seleccionado y pegarlo en un archivo llamado, por ejemplo: CANALES.m3u (en la ruta que queramos....)
Con esto estaría todo.

Alguien se anima a ayudarme?
Sería una manera fantastica de tener los canales siempre actualizados :campeon:

Saludos.

WillyWeb
12/04/16, 16:47:39
Pues la cosa es mucho más sencilla de lo que describes, que por otra parte es totalmente correcto desde el punto de vista de un "humano" ;-)

Afortunadamente Tasker puede "ver" el código HTML de las páginas y sacar directamente lo que quieras/necesites.

1. HTTPGet con la URL de la página. El código queda disponible en la variable %HTTPD

2. Buscar dentro de %HTTPD la primera URL a pastebin.com, tarea fácil con una expresión regular como esta ... http:\/\/pastebin.com\/raw\/.{8}

3. HTTPGet con la URL a pastebin.com conseguida en el punto 2 y que guarde el resultado, por ejemplo, en /sdcard/canales.m3u

Más fácil imposible :oh:

maid450
12/04/16, 17:04:02
En esa primera ruta hay muchos enlaces, los necesitas todos o solo el contenido del primero?

Por lo pronto en vez de "Abrir url" yo usaría la acción "HTTP Get", poniéndole la url como primer parametro y el resto lo puedes dejar en blanco.
Eso almacena en la variable HTTPD el contenido html de la página.

Despues en una acción javascriptlet puedes hacer:

var html = global('HTTPD');
var urls = [];
var regexp = /(https?:\/\/pastebin.com\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*)/gi;
while(match = regexp.exec(html)) {
urls.push(match[0]);
}
Que saca el texto de sea variable y va extrayendo todas las urls de pastebin que encuentra y las va metiendo en la variable urls.

Ahí ya, si lo que te interesa es lo del primer enlace, otra acción "HTTP Get" con %urls(1) almacenará en HTTPD el contenido del pastebin y lo puedes escribir en un fichero donde quieras.

edit: te me adelantaste WillyWeb :risitas:

dj_janker
12/04/16, 17:05:40
Pues la cosa es mucho más sencilla de lo que describes, que por otra parte es totalmente correcto desde el punto de vista de un "humano" ;-)

Afortunadamente Tasker puede "ver" el código HTML de las páginas y sacar directamente lo que quieras/necesites.

1. HTTPGet con la URL de la página. El código queda disponible en la variable %HTTPD

2. Buscar dentro de %HTTPD la primera URL a pastebin.com, tarea fácil con una expresión regular como esta ... http:\/\/pastebin.com\/raw\/.{8}

3. HTTPGet con la URL a pastebin.com conseguida en el punto 2 y que guarde el resultado, por ejemplo, en /sdcard/canales.m3u

Más fácil imposible :oh:

jeje, perfecto como siempre WillyWeb
Lo cierto es que lo acababa de conseguir por "mi metodo", jejej mucho más sucio y engorroso.
Cuando tenga un rato pruebo el tuyo. Es más limpio y fiable que el mío.

Muchísimas gracias.

Saludos.

WillyWeb
12/04/16, 17:13:42
... te me adelantaste WillyWeb :risitas:

Por poco :campeon:

Y además me ha quedado muy chulo...

IPTV (444)
A1: HTTP Get [ Servidor:http://iptvapps.blogspot.com Ruta:2015/10/playlist-sports-download-list.html ]
A2: Buscar y Reemplazar Contenido de Variable [ Variable:%HTTPD Buscar:http:\/\/pastebin.com\/raw\/.{8} Una sola coincidencia:Encendido Almacenar Coincidencias En:%pastebin ]
A3: HTTP Get [ Servidor:%pastebin1 Archivo de salida:/sdcard/canales.m3u ]

:risitas: