Hay más sitios webs que estrellas… ¿o cómo era? Hoy en día existe una gran cantidad de sitios web disponibles en internet.
Y no es para más, diariamente se suben al internet una gran cantidad de sitios web (empresariales, de noticias, blogs, aplicaciones, etc.) de diversas temáticas y de los fines más variados.
Todos consultamos información en internet, ya sea para aprender o para divertirnos un rato. El martirio viene cuando por algún motivo no tenemos internet y debemos consultar información.
Una de las opciones básicas es descargar las paginas para consultar su contenido después, de hecho, Google Chrome ofrece una opción para descargar las paginas web con solo un clic.
Pero la opción que ofrece Google Chrome es demasiada simple, ya que solo permite descargar la pagina actual y si deseas descargar otras paginas del mismo sitio debes navegar entre el y descargar una a una todas las páginas.
Este proceso, además de ser aburrido, te demorara mucho tiempo en caso de que desees descargar todo el contenido de un sitio web. Pero Python ha llegado para ayudarnos.
Python, el todo versátil lenguaje de programación, ofrece entre sus miles de bibliotecas una que permite descargar sitios webs completos sin volarnos la cabeza.
Dicho de otra manera, con Python serás capaz de descargar sitios web con pocas líneas de código y personalizando su descarga. Además, podrás hacer uso de dicha biblioteca de descarga e incluirla en tus propios proyectos de software.
pywebcopy
pywebcopy es un paquete de Python para clonar páginas web y sitios web completos en el almacenamiento local. De esta manera podras descargar al completo un sitio web y consultarlo cuando no tengas internet.
Si ya tienes Python instalado, el proceso para instalar pywebcopy es muy sencillo solo debes ejecutar el siguiente comando:
pip install pywebcopy
Personalización de la descarga
Cuando se solicita una descarga a través de pywebcopy puedes personalizar el tipo de descarga. Para no hacerla tan larga, lo principal son dos parámetros: url nombre del proyecto y carpeta destino.
url: es la url del sitio o pagina web objetivo a descargar, recuerda validar con anterioridad que se encuentre disponible y accesible.
Nombre del proyecto: Nombre del proyecto de la descarga (nombre de la carpeta principal)
Carpeta destino: Es el almacenamiento local donde se descargarán todos los archivos (imágenes, documentos, etc.) del sitio o página web.
Código
La parte que todos estaban esperando. Para ejecutar el código primero deberás importar pywebcopy, y añadir al código la url, la carpeta destino y el nombre del proyecto.
El código completo para guardar una pagina web simple es:
from pywebcopy import save_webpage
kwargs = {'project_name': 'some-fancy-name'}
save_webpage(
url='http://example-site.com/index.html',
project_folder='path/to/downloads',
**kwargs
)
Si deseas guardar un sitio web completo, el codigo es:
from pywebcopy import save_website
kwargs = {'project_name': 'some-fancy-name'}
save_website(
url='http://example-site.com/index.html',
project_folder='path/to/downloads',
**kwargs
)
Al final de la ejecución tendrás una copia completa del sitio o página web.