Página 1 de 1

Tipo de fichero en descarga en 2º plano

Publicado: 06 May 2013, 10:02
por buster25
Hola, llevo dándole vueltas al asunto de que todos los canales que utilizan Mega como servidor, -Megapass, Megaspain y MegaHD- son foros, y en ellos se suben archivos en formato rar o zip, que no son reproducibles por XBMC -lógicamente-. Intenté hacer un scraper de la página de Mega, -pero es bastante dificil, por no decir imposible-, ya que en esa página si está el tipo de archivo que se está reproduciendo, su nombre y el tamaño: -pongo una captura por si alguien logra hacer el scrapper-:
Dibujo.JPG
Dibujo.JPG (32.52 KiB) Visto 4160 veces

- Con la función de "Download&Play", ¿ hay alguna forma de que el cuadro de dialogo muestre el tipo de archivo que se está descargando ?, ¿ cual es la información que se puede sacar del fichero que se está descargando ?

Re: Tipo de fichero en descarga en 2º plano

Publicado: 20 May 2013, 00:40
por jesus
Lo que tienes que hacer es coger la URL:

Código: Seleccionar todo

http://megastreamer.net/mega_stream.php?url=https%3A%2F%2Fmega.co.nz%2F%23%217IVgnIRb%21LfH1_1Pl0zzqVsN92B_9-OgdAo0XqpBafz4iMtM&mime=vnd.divx
Y hacer una llamada a Megastreamer para averiguar el Content-Type, o mejor el Content-Disposition que es donde suele venir el nombre del fichero.

Esto puedes hacerlo con:

Código: Seleccionar todo

scrapertools.get_header_from_response(url=LA_URL, header_to_get="Content-Disposition")
Aquí tienes un ejemplo de lo que se devuelve volcado con CURL, fíjate que content-disposition tiene l nombre del fichero "video.divx".

Código: Seleccionar todo

iMac-de-Jesus:Logs $ curl -v "http://megastreamer.net/mega_stream.php?url=https%3A%2F%2Fmega.co.nz%2F%23%217IVgnIRb%21LfH1_1Pl0zzqVsN92B_9-OgdAo0XqpBafz4iMtM&mime=vnd.divx"
* About to connect() to megastreamer.net port 80 (#0)
*   Trying 208.113.210.116...
* connected
* Connected to megastreamer.net (208.113.210.116) port 80 (#0)
> GET /mega_stream.php?url=https%3A%2F%2Fmega.co.nz%2F%23%217IVgnIRb%21LfH1_1Pl0zzqVsN92B_9-OgdAo0XqpBafz4iMtM&mime=vnd.divx HTTP/1.1
> User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5
> Host: megastreamer.net
> Accept: */*
> 
< HTTP/1.1 200 OK
< Server: nginx/0.8.53
< Date: Sun, 19 May 2013 23:34:42 GMT
< Content-Type: video/vnd.divx
< Connection: keep-alive
< Content-Length: 2172410547
< Content-Disposition: attachment; filename=video.divx
Fijate también que en esta URL de Megapass al final hay un atributo "mime=vnd.divx" que te da la misma información que el Content-Type. Si es generalizado para todos los canales de Mega te evitas esa llamada extra.

Re: Tipo de fichero en descarga en 2º plano

Publicado: 20 May 2013, 07:01
por buster25
Gracias Jesus, probado y no funciona... :oops: :oops:
te cuento lo que pasa:

Si hago la llamada a una url de megastreamer, la respuesta es siempre la misma filename=video.divx, parece algo lógico, ya que esta web lo que hace es coger los archivos desde Mega y ofrecer un flujo de video, que será siempre del mismo tipo, ... con lo cual lo lógico parecería hacer una llamada directamente a la web de Mega, pero.... :? supongo que por protecciones propias de este servidor, arroja un error: "El sitio web no funciona correctamente (error http 404)"

Re: Tipo de fichero en descarga en 2º plano

Publicado: 20 May 2013, 09:38
por jesus
Mega es un bicho complejo, con criptografía y javascript asíncrono de alto nivel. Mal camino :(

Hay varias API publicadas para usar Mega desde Python, si tienes ganas de jugar puedes probarlas.

https://github.com/juanriaza/python-mega
https://github.com/richardasaurus/mega.py

Re: Tipo de fichero en descarga en 2º plano

Publicado: 20 May 2013, 12:23
por buster25
Gracias Jesus, ya las conocía, pero escapa a mis conocimientos... :oops: :oops: :oops: