Cómo guardar todas las páginas web enlazadas desde una

15

Me gustaría guardar esta página web y todas las páginas a las que enlaza. y espero tener el mismo enlace entre las páginas web guardadas.

¿Hay algunas formas en lugar de abrir y guardar cada página vinculada?

Tim
fuente

Respuestas:

12

Puede hacer lo que quiera con la utilidad de línea de comandos wget . Si le proporciona la -ropción, descargará páginas web de forma recursiva. Por ejemplo:

wget -r http://mat.gsia.cmu.edu/orclass/integer/integer.html

Esto descargará esa página web y todo lo que enlace. También puede hacer que solo se repita un cierto número de niveles, para hacer esto, simplemente proporcione -run número. Como tal:

wget -r 5 http://mat.gsia.cmu.edu/orclass/integer/integer.html
Wuffers
fuente
@ Mark: ¡Gracias! Ahora trato de descargar mat.gsia.cmu.edu/orclass y las páginas que enlaza usando el comando wget -r mat.gsia.cmu.edu/orclass . wget creará un directorio mat.gsia.cmu.edu debajo del que especifiqué y descargará las páginas debajo de él. Pero los enlaces entre las páginas descargadas no tienen mat.gsia.cmu.edu en sus rutas, por lo que se convierte en un problema y no puedo ir de una página a otra haciendo clic en los enlaces. Me preguntaba por qué y cómo resolver el problema. ¡Gracias!
Tim
No creo que pueda descargar de forma recursiva enlaces externos, @Tim.
Wuffers
¿"Enlaces externos" significa aquellos que no están bajo la ruta actual?
Tim
@Tim: Por enlaces externos me refiero a enlaces que se refieren fuera de mat.gsi.cmu.edu
Wuffers
1
@Tim: Oh, está bien. Perdón por el malentendido. Creo que podría intentar editar los archivos HTML usted mismo para verificar e intentar que funcionen.
Wuffers
10

Este hilo es antiguo ahora, pero otros podrían mirarlo. Gracias, Wuffers, por señalarme en la dirección correcta, pero para ampliar la respuesta de Wuffers: una versión moderna de wget tiene una serie de opciones útiles para recurrir enlaces y parcharlos para que sean enlaces relativos locales para que pueda navegar por una copia local. de un sitio web. Use la opción -r para recurrir, la opción -k para parchear enlaces locales, la opción -H para atravesar dominios distintos al original, la opción -D para limitar en qué dominios atraviesa, la opción -l para limitar profundidad de recursión y la opción -p para asegurarse de que las hojas de su recorrido tengan todo lo que necesitan para mostrarse correctamente. Por ejemplo, lo siguiente descargará una página y todo lo que enlaza de inmediato, lo que lo hace navegable localmente,

wget -r -l 1 -p -k -H -D domain.com,relateddomain.com http://domain.com/page/in/domain

Usando un comando similar al anterior, pude descargar una porción de una página wiki, con enlaces externos, en mi disco local sin descargar megabytes de datos extraños. Ahora, cuando abro la página raíz en mi navegador, puedo navegar por el árbol sin una conexión a Internet. Lo único irritante fue que la página raíz estaba enterrada en subdirectorios y tuve que crear una página de redireccionamiento de nivel superior para que fuera conveniente mostrarla. Puede tomar algo de prueba y error para hacerlo bien. Lea la página de manual de wget y experimente.

Pablo Halpern
fuente
4

Puede utilizar un rastreador de sitios web como httrack , que es gratuito.

Del sitio web;

[httrack] le permite descargar un sitio de la World Wide Web de Internet a un directorio local, creando recursivamente todos los directorios, obteniendo HTML, imágenes y otros archivos del servidor a su computadora. HTTrack organiza la estructura de enlaces relativa del sitio original. Simplemente abra una página del sitio web "reflejado" en su navegador, y puede navegar por el sitio de un enlace a otro, como si lo estuviera viendo en línea.

RJFalconer
fuente
1
+1 Excelente aplicación! Pero también está tomando todos los archivos zip vinculados, lo que no quería. ¡Pero entonces probablemente debería haber leído las instrucciones primero!
finlaybob
Sí, puede / seguirá todos los enlaces, por lo que descargará archivos. (@Finlaybob, ¿sabe que la página de inicio que figura en su perfil ha sido pirateada?)
RJFalconer
¡Yo no estaba! Lo investigaré, ¡gracias por hacérmelo saber!
finlaybob