Saltar al contenido

Cómo guardar “página web completa” no solo html básico usando Python

Posterior a observar en diversos repositorios y sitios de internet al concluir nos hemos encontrado la resolución que te compartimos aquí.

Solución:

Intenta emular tu navegador con selenium. Este script abrirá el save as cuadro de diálogo de la página web. Todavía tendrá que descubrir cómo emular presionando Intro para que comience la descarga, ya que el cuadro de diálogo del archivo está fuera del alcance de Selenium (cómo hacerlo también depende del sistema operativo).

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

br = webdriver.Firefox()
br.get('http://www.google.com/')

save_me = ActionChains(br).key_down(Keys.CONTROL)
         .key_down('s').key_up(Keys.CONTROL).key_up('s')
save_me.perform()

También creo seguir @Ámbar La sugerencia de capturar los recursos vinculados puede ser más simple, por lo tanto, una mejor solución. Aún así, creo que usar selenio es un buen punto de partida como br.page_source obtendrá todo el dom junto con el contenido dinámico generado por javascript.

Puede hacerlo fácilmente con la biblioteca python simple pywebcopy.

Para la versión actual: 5.0.1

from pywebcopy import save_webpage

url = 'http://some-site.com/some-page.html'
download_folder = '/path/to/downloads/'    

kwargs = 'bypass_robots': True, 'project_name': 'recognisable-name'

save_webpage(url, download_folder, **kwargs)

Tendrá html, css, js, todo en su carpeta de descarga. Completamente funcionando como el sitio original.

Aquí puedes ver las comentarios y valoraciones de los usuarios

Acuérdate de que tienes la capacidad de decir si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *