Dudas con creación de canales

zombicide01

Usuario Novato
21 May 2020
3
0
1
20
#1
Buenas chicos, después de leerme la documentación que tenéis por el foro sobre como crear y añadir nuestros propios canales a este addon tan maravilloso me puse manos a l a obra y he conseguido crear uno bastante funcional, pero por diferencias de las webs con respecto a otras que he estado comparando para poder entender como funcioba el código me encuentro con algunos problemas.

El primer canal que estoy tratando de crear es de la web: IronAnime
He conseguido crear las principales secciones de últimos capítulos, últimas series, listar la serie, es decir es bastante funcional pero me falta una función básica que es el botón de búsqueda, lo que ocurre es que a diferencia de otras webs que cuando haces una búsqueda tiene una url donde se muestran los resultados de la búsqueda en esta web caso solo aparece un desplegable sin cambiar de web ni nada, no se como podría sacar los resultados en este caso.

El segundo canal que estoy tratando de crear es de la web: Mundo Donghua
En este caso la estructura de la web la tengo montada pero el problema es para obtener el enlace del vídeo, cuando estas en la página del vídeo para reproducirlo en el código fuente no aparece el enlace como tal, no entiendo muy bien como está montado y si habría alguna forma de obtenerlo.

Por último, comentar que también tuve problemas para reproducir los vídeos de Dailymotion con el propio reproductor de alfa (no se si es que no tiene compatibilidad) así que tuve que añadir una llamada externa al plugin de dailymotion y así lo conseguí solucionar, si hubiese otra opción también me gustaría conocerla.

Y esto es todo, a ver si alguien pudiese echarme una mano que se lo agradecería un montón!
Saludos!!
 

Delta

Miembro del equipo
16 Oct 2017
857
940
93
#2
Buena elección de webs (de dificultad media), para tu primer pregunta necesitas hacer la llamada post, por ejemplo

Código:
text = "gleipnir"
url = "https://www.ironanime.live/buscar/" + text
data = httptools.downloadpage(url, post="").json
de esa forma obtendrás un json para con la información de las series que necesitas.

Para tu segunda pregunta es un poco compleja la respuesta porque el id del vídeo esta codificado en base64

por ejemplo el id del vídeo de esta pagina Wan Jie Chun Qiu Episodio 11 Sub Español esta aqui https://www.mundodonghua.com/Nemoni...d_plataforma=ZjFYWWlwc2FqcllFNE9Nd3hzTEZXQT09 (es necesario formar esta url tomando los datos desde el codigo fuente de la pagina. Como te dije el id esta codificado en base64 y para obtener el id real necesitaras algo así

Código:
import base64

base_url = "https://www.dailymotion.com/embed/video/"
codificado = "azJjaER6UWhUSWZ0UFd3M3pTbw=="
decodificado = base64.b64decode(codificado)
url = base_url + decodificado
Aun así, como mencionas dailymotion no esta funcionando por lo que tendrás que esperar a que reparemos el conector, no se si esa web utiliza otros servidores el ejemplo es sobre dailymotion.

Espero te sirva la información y pronto podamos sumar tus canales a Alfa, si tienes mas dudas por aquí estaremos.
 

zombicide01

Usuario Novato
21 May 2020
3
0
1
20
#3
Muchísimas gracias @Delta!!! La verdad que me puse ayer por la tarde con todo este tema y llevo sin parar desde entonces, me resultan divertidas este tipo de cosas, lo irónico es que ahora que me has explicado como funciona veo casi más sencillo el segundo caso que el primero.

Para el primer caso primero:
Código:
text = "gleipnir"
url = "https://www.ironanime.live/buscar/" + text
data = httptools.downloadpage(url, post="").json
El url "https://www.ironanime.live/buscar/", cómo lo has averiguado? Ya que si entras con esa url a la web te sale un not found, es que antes de que lo dijeras estuve probando urls de búsqueda típicas a ver si alguna daba respuesta por probar, pero claro, dando palos de ciego.
Realmente tengo la curiosidad de como deducir tanto eso como que lo que se necesita generar es con esa url un json donde aparecerán los resultados de la caja de búsqueda de la web.

En cuanto al segundo caso:
Código:
import base64
base_url = "https://www.dailymotion.com/embed/video/"
codificado = "azJjaER6UWhUSWZ0UFd3M3pTbw=="
decodificado = base64.b64decode(codificado)
url = base_url + decodificado
La verdad que aunque tengo nociones de programación, de web no he tocado apenas nada y por ejemplo sin tu ayuda no hubiese llegado a como hace la llamada del NemonicLoader.php, ahora viéndola es lógico que se construya así, pero para intentar aplicarlo en general, siempre se hacen las llamadas de los .php de este modo? host + .php + ? + args ???

Y luego el resultado de la url también me hubiese costado darme cuenta que estaba en base64, por el tamaño del string y por los símbolos pero vamos, que me has ahorrado mucho trabajo.

Pues nada, voy a aplicarlo todo, sobre lo que comentas de Dailymotion ya me has confirmado que el conector no funciona, yo como solución "sencilla" lo que he hecho ha sido descargar el plugin de dailymotion y cuando el servidor que se encuentra es de dailymotion hago una llamada a dicho plugin y se reproduce sin ningún problema, como media provisional me sirve la verdad.

Lo cierto es que tenéis un addon muy versátil, enhorabuena!

En cuanto tenga los dos canales activos no dudaré en compartirlos, un saludo y muchas gracias otra vez!!!
 

Delta

Miembro del equipo
16 Oct 2017
857
940
93
#4
Respuesta 1
Lo recomendable ademas de mirar el código fuente de la web es seguir el proceso de la web con el inspector de elementos, en la pestaña de red (network) veras todas la urls que se van cargando, por ejemplo antes de iniciar la reproducción abres el inspector haces click y miras la urls que cargan, esto vale para cualquier acción.

Respuesta 2
Esto es valido para esta web pero puedes encontrar variantes de otro tipo pero con el mismo resultado.
 
Última edición:

zombicide01

Usuario Novato
21 May 2020
3
0
1
20
#6
Respuesta 1
Lo recomendable ademas de mirar el código fuente de la web es seguir el proceso de la web con el inspector de elementos, en la pestaña de red (network) veras todas la urls que se van cargando, por ejemplo antes de iniciar la reproducción abres el inspector haces click y miras la urls que cargan, esto vale para cualquier acción.
Vale, este paso es que no lo hacía y ya he probado y si lo tienes abierto cuando cargas la página web aparece todo! Tomo nota pues.

Por cierto, ya tengo el canal del segundo caso funcionando, después de explicarme como iba el loader ya he conseguido que todo funcione si el server es de dailymotion, además ahora probaré a usarlo con el reproductor integrado al decirme que ya funciona, se me plantea una duda, ¿hay forma de capturar la respuesta del reproductor y que si falla lanzara el vídeo con el plugin externo tal como lo tengo ahora?

Por otro lado, me he encontrado que en esta web (por ejemplo en este capítulo: Wu Geng Ji 3 Episodio 21 Sub Español) a parte de dailymotion utilizan este reproductor: https://www.nemonicplayer.ml/video/IRiBEbCZLaHBWyO/
Si se intenta acceder por la url te da un acceso denegado, ¿alguna idea de cómo conseguir reproducirlos con Alfa?

Cuando tenga totalmente funcional este canal me pongo a finalizar el primer caso.

PD: he probado lo de dailymotion y sigue sin funcionarme por alfa, tengo que hacer algo concreto?

EDITO:
Pues ya tengo los dos canales funcionando al 100%, con sus apartados de buscar y todo en ambos casos, seguro que los métodos que he creado podrían simplifacarse y hacerse cosas de maneras más sencillas pero bueno, he tratado de crearme una estructura "genérica" para usarla de base para más canales, aunque es cierto que puede llegar a haber muchas diferencias entre unos y otros.
Por cierto, como hago para compartir los canales con vosotros @Delta ??

Muchas gracias por todo!!
 
Última edición: