mediafire2links: Obtén enlaces de descarga de archivos alojados en mediafire

  • 8 Respuestas
  • 755 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DtxdF

  • *
  • Moderador Global
  • Mensajes: 916
  • Actividad:
    90%
  • Country: 00
  • Reputación 19
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email

A veces necesitamos descargar una carpeta o un único archivo que esté siendo hospedado por un servicio de alojamientos de archivos muy famoso, aunque en la actualidad muy poco se usa, éste tuvo su brillantez en una época, y por si se lo preguntan, ese servicio es, Mediafire, el cual nos da un extra en nuestro tiempo, que podría considerarse, desperdiciado:


Lo que pasa al presionar el botón Download folder

Pero no hay necesidad de mostrar preocupación, ya que la solución es más fácil de lo que parece, pero si algo es mejor para este sencillo tutorial, son los detalles empíricos. Y como extra para los flojillos, pueden ir a la sección "El script" donde pueden ver su instalación, y su uso sin necesidad de ver qué hay detrás de él.

Obteniendo los enlaces manualmente:

Primero que nada, y ya con el enlace del archivo en cuestión, que en este caso será una carpeta. Debemos ver el siguiente patrón en la URI:

Código: (text) [Seleccionar]
https://www.mediafire.com/folder/[Identificador]
Una vez que lo deducimos, usaremos la API de mediafire, pero adicionando su correspondiente Identificador:

Código: (text) [Seleccionar]
https://www.mediafire.com/api/1.4/folder/get_content.php?r=rgfa&content_type=files&filter=all&order_by=name&order_direction=asc&chunk=1&version=1.5&folder_key=[IDENTIFICADOR]&response_format=json

Respuesta en formato JSON

Como se puede apreciar, es realmente sencillo, y cabe aclarar que para el caso de los archivos no se hace nada más especial, ni siquiera hace uso de la API, más bien realiza Web scraping para obtener el correspondiente enlace de descarga.

El script:

Antes que nada, aquí se enumeran los requerimientos si queremos que su ejecución sea plena:

  • lxml
  • bs4
  • requests

Claro está que tenemos la oportunidad de escoger entre usar pip y el gestor de paquetes de nuestro sistema, pero sería más recomendable optar por la segunda opción por las ventajas que tiene, como la actualización que se lleva a cabo al actualizar el sistema. Sin embargo, para no complicar el tutorial, usaremos pip y cada cual puede hacer una equivalencia con los nombres respectivos en los repositorios de su sistema.

Código: (bash) [Seleccionar]
pip install lxml
pip install bs4
pip install requests

Nota: Cabe aclarar que es mejor verificar su versión de pip correspondiente (que sea apto para python3.6 en adelante)

Luego, clonamos el repositorio:


Código: (bash) [Seleccionar]
git clone https://github.com/DtxdF/mediafire2links.git
cd mediafire2links
python3 mediafire2links.py

Pasos para la obtención:

Si ya hemos llegado hasta acá es porque hemos pasado lo peor. Pero ahora, y para ultimar el tutorial, vamos a lo que vinimos: obtener enlaces de las descargas de los archivos.

Debemos, ante nada, tener un enlace de algún archivo o carpeta que deseemos. En el caso de una carpeta es algo más especial en las instrucciones, ya que no necesitamos completamente la URL, más bien su identificador, que se puede obtener siguiendo el siguiente patrón:


Código: (text) [Seleccionar]
https://www.mediafire.com/folder/[Identificador]
Mayormente es una secuencia inhumana de caracteres, pero será fácilmente deducible.


La localizaciones de los archivos de una carpeta

Nota: Se ofuscuraron las direcciones para evitar su descarga.

He aquí el correspondiente comando:

Código: (bash) [Seleccionar]
python3 mediafire2links.py d [Identificador]
Y aquí la explicación: en el caso de querer obtener los correspondientes enlaces de los archivos en una carpeta se debe colocar como tipo de archivo una 'D' sin importar si ésta es mayúscula o minúscula, al igual que si desea descargar un archivo, siendo su letra correspondiente, una 'F', y aquí su correspondiente ejemplo:


Obteniendo un archivo individualmente

Y como no puede faltar, su correspondiente comando:

Código: (bash) [Seleccionar]
python3 mediafire2links.py f https://mediafire.com/file/[Identificador]/[Nombre de archivo]
Por lo general, es irrelevante el nombre de archivo; su identificador y por supuesto, su URL es más que suficiente para el script.

Uso con wget:

Se tiene la libertad de escoger alguna herramienta para descargar los archivos, pero para este caso es recomendable wget que es una excelente herramienta, especialmente cuando queremos descargar una carpeta entera.

Código: (bash) [Seleccionar]
python3 mediafire2links.py d [Identificador] > links.txt
wget -c -vv -i links.txt

Conclusión:

Este script fue pensado para darselo a un compañero que me lo pidió, pero también quise compartirlo por si a alguno le era de agrado. Quiero aclarar que si surge un error o cualquier incongruencia, no está demás informarlo. Espero les haya gustado.

~ DtxdF
« Última modificación: Enero 28, 2021, 12:01:44 am por DtxdF »
Los seres humanos son robots, cuyo combustible es el afanado dinero.

Conectado Gabriela

  • *
  • Co Admin
  • Mensajes: 1008
  • Actividad:
    16.67%
  • Country: 00
  • Reputación 22
  • A las personas se las conoce por sus heridas...
    • Ver Perfil
    • Hirana: red de IRC
    • Email

Como ya es tu costumbre, un fantástico aporte de cosecha propia.

Claro, para quienes todavía no dominamos el tema.
Y para más en python!!

Gracias por compartirlo, compañero @DtxdF

Saludos

Gabriela

Tú te enamoraste de mi valentía, yo me enamoré de tu oscuridad; tú aprendiste a vencer tus miedos, yo aprendí a no perderme en tu abismo.

Desconectado DtxdF

  • *
  • Moderador Global
  • Mensajes: 916
  • Actividad:
    90%
  • Country: 00
  • Reputación 19
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email
Un placer @Gabriela :D

~ DtxdF
Los seres humanos son robots, cuyo combustible es el afanado dinero.

Desconectado AXCESS

  • *
  • Moderador Global
  • Mensajes: 1155
  • Actividad:
    100%
  • Country: 00
  • Reputación 21
    • Ver Perfil
    • Email
Muy bueno.
Se nota el perfeccionismo y exquisitez en la explicación y exposición.
Muchos no lo notan, pero el crear un artículo mejora un sinfín de habilidades relacionadas con la comunicación, además de afianzar conocimientos relacionados. “Saber leer es saber andar. Saber escribir es saber ascender”. Llega un momento que se crea una simbiosis, y la persona llega a expresarse tal como escribe; o como es común, muchos escriben como hablan.

Pudiera surgir la interrogante de, si es válido solamente para MediaFire, o pudiera adaptarse para otros tipos de descargas.

Y… a mi gato le ha gustado el detalle de “flojillos”.
 
Le comenta, “como cosa suya”, que bien pudiera agregarse:

-“debiluchos, paliduchos, canilludos, y enfermizos”;

como se estila y usa en el gremio, según tiene observado.
 Y… aunque le duela a muchos, probables lectores de estas líneas.

Hay que ser autocríticos y realistas.

Conectado Gabriela

  • *
  • Co Admin
  • Mensajes: 1008
  • Actividad:
    16.67%
  • Country: 00
  • Reputación 22
  • A las personas se las conoce por sus heridas...
    • Ver Perfil
    • Hirana: red de IRC
    • Email

Comento que tengo algunas coincidencias con nuestro compañero @AXCESS :

Citar
...el crear un artículo mejora un sinfín de habilidades relacionadas con la comunicación, además de afianzar conocimientos relacionados...

Pero si hablamos de agregados, como dice AXCESS, @DtxdF  que no falte gatiluchos esos flojillos, por naturaleza y genética. :XD.

Si también coincido:

Citar
Hay que ser autocríticos y realistas.

Mucho más cuando se habla de ciertos gatos con aspiraciones a parecerse a hermosos caniches. XD

Saludos

Gabriela

Tú te enamoraste de mi valentía, yo me enamoré de tu oscuridad; tú aprendiste a vencer tus miedos, yo aprendí a no perderme en tu abismo.

Desconectado AXCESS

  • *
  • Moderador Global
  • Mensajes: 1155
  • Actividad:
    100%
  • Country: 00
  • Reputación 21
    • Ver Perfil
    • Email

Desconectado DtxdF

  • *
  • Moderador Global
  • Mensajes: 916
  • Actividad:
    90%
  • Country: 00
  • Reputación 19
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email
Citar
Muy bueno.
Se nota el perfeccionismo y exquisitez en la explicación y exposición.
Muchos no lo notan, pero el crear un artículo mejora un sinfín de habilidades relacionadas con la comunicación, además de afianzar conocimientos relacionados. “Saber leer es saber andar. Saber escribir es saber ascender”. Llega un momento que se crea una simbiosis, y la persona llega a expresarse tal como escribe; o como es común, muchos escriben como hablan

Muchas gracias AXCESS. Realmente cada vez que lo leo a usted también aprendo.

Citar
Pudiera surgir la interrogante de, si es válido solamente para MediaFire, o pudiera adaptarse para otros tipos de descargas.

Es lo negativo, solo funciona con mediafire. Pero es fácilmente adaptable como un plugin para otro sistema que quiera realizar este tipo de funciones.

Citar
Y… a mi gato le ha gustado el detalle de “flojillos”.
 
Le comenta, “como cosa suya”, que bien pudiera agregarse:

-“debiluchos, paliduchos, canilludos, y enfermizos”;

Jajaja, como siempre usted @AXCESS y @Gabriela me hacen reir con estos post XD

~ DtxdF
Los seres humanos son robots, cuyo combustible es el afanado dinero.

Desconectado Rastakorn

  • *
  • Underc0der
  • Mensajes: 2
  • Actividad:
    6.67%
  • Reputación 0
    • Ver Perfil
Muchas gracias por ese aporte, muy bien explicado y apoyado visualmente, me encanta, muy agradecido

Desconectado DtxdF

  • *
  • Moderador Global
  • Mensajes: 916
  • Actividad:
    90%
  • Country: 00
  • Reputación 19
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email
@Rastakorn

Un placer, ya vendrán más ^-^)

~ DtxdF
Los seres humanos son robots, cuyo combustible es el afanado dinero.