¿Cómo crear una copia fuera de línea de un sitio web?

En los años 90 estaba usando Teleport Pro .

En estos días, ¿cuál sería la forma correcta de guardar una copia completa de un sitio web?

(incluidos archivos de CDN/fuentes/mapas fuente/medios)


Una opción sería escribir una aplicación Node.js simple usando módulos npm como requesto cheerio, pero no quiero reinventar la rueda.

(por lo tanto preguntando)

Estoy principalmente en Mac, puedo usar Windows si el software lo vale.

¿Cuál es el problema con Teleport Pro?
No estoy seguro de cuál es la intención de la pregunta. De hecho, actualicé Word 2.0 en Windows 3.11 y esperaba que hubiera aplicaciones modernas que cubran mis necesidades... (Recuerdo que tuve algunos problemas)
Tenía curiosidad por saber cómo está Teleport Pro hoy en día (por ejemplo, ¿tal vez problemas con el nuevo sistema operativo o las nuevas tecnologías web?), ya que también solía usarlo hace una década :) wget y HTTrack Website Copier también son bastante antiguos.

Respuestas (3)

Puedes usar GNU wget :

  • libre y de código abierto
  • Linux, Windows , Mac ( brew install wget)
  • CLI

Para crear una copia fuera de línea del sitio web (también conocido como espejo), use

wget --mirror --page-requisites --convert-links http://stackexchange.com
  • --mirror: esta opción activa las opciones adecuadas para la duplicación. Esta opción activa la recursión y la marca de tiempo, establece una profundidad de recursión infinita y mantiene las listas de directorios FTP. Actualmente es equivalente a-r -N -l inf --no-remove-listing.
  • --page-requisites: Esta opción hace que Wget descargue todos los archivos necesarios para mostrar correctamente una página HTML determinada. Esto incluye cosas tales como imágenes en línea, sonidos y hojas de estilo referenciadas.
  • --convert-links: Una vez completada la descarga, convierta los enlaces del documento para que sean adecuados para la visualización local. Esto afecta no solo a los hipervínculos visibles, sino a cualquier parte del documento que vincule a contenido externo, como imágenes incrustadas, enlaces a hojas de estilo, hipervínculos a contenido que no sea HTML, etc.

FYI: funcionalidad de JavaScript para Wget .

El enlace wget de Windows ahora está desactualizado: esa versión no es compatible con SSL correctamente. Se pueden obtener versiones más recientes en eternallybored.org/misc/wget

Puede usar HTTrack Website Copier :

  • libre y de código abierto (GNU General Public License Version 3)
  • Linux, Windows, Mac
  • interfaz gráfica de usuario

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Oye, eso es lo que iba a recomendar cuando vi esta pregunta;)
@NickWilde Sí, es una aplicación bastante buena, pero siempre me ha molestado la ridícula limitación de ancho de banda predeterminada, así que tiendo a recomendar wget en su lugar :)
Lamentablemente, HTTrack no descarga CSS, JS o imágenes de forma predeterminada. Si intenta incluirlos con una regla de inclusión como +*.css, ¡esto a veces hace que la aplicación intente descargar todo Internet! Argh. Debe especificar reglas complejas de inclusión/exclusión para evitar esto. Ojalá no hicieran esto tan doloroso. 😒

...¿cuál sería la forma correcta de guardar una copia completa de un sitio web?

La respuesta corta es que esto generalmente no es posible (en el sentido de "completo") excepto para sitios HTML estáticos.

Los sitios "responsivos" modernos de hoy en día se basan en JS que actualiza dinámicamente el DOM con AJAX y, a menos que esté preparado para ejecutar ese JS y volver a renderizar el DOM, no obtendrá el sitio completo.

Para ver lo que quiero decir, considere lo que significaría "guardar una copia completa" de, por ejemplo, maps.google.com.

De hecho, por ejemplo, wget tiene problemas con JS: wget.addictivecode.org/FeatureSpecifications/JavaScript
Precisamente. Es por eso que estoy buscando un software que pueda hacer eso por mí... :) #lazy
Te perdiste mi punto. ¿Qué es una "copia sin conexión" de un sitio web con contenido dinámico que cambia cada pocos minutos (como cnn.com, por ejemplo)?
No espero actualizaciones en tiempo real sobre la offlinecopia. La instantánea actual sería suficiente.