Si bien son útiles, las respuestas anteriores no resuelven de manera concisa, confiable y repetida la pregunta subyacente. En esta publicación, detallamos brevemente las dificultades con cada uno y luego ofrecemos una httrack
solución modesta .
Antecedentes
Antes de llegar a eso, sin embargo, considere leer detenidamente la respuesta bien escrita de mpy . En h [is | er] publicación tristemente descuidada, mpy documenta rigurosamente el oscuro y oscuro esquema de archivo de Wayback Machine.
Como era de esperar, no es bonito. En lugar de archivar sitios de manera sensata en un solo directorio, The Wayback Machine distribuye efímeramente un solo sitio en dos o más directorios de hermanos identificados numéricamente. Decir que esto complica la duplicación sería una subestimación sustancial.
Comprender los escollos horribles presentados por este esquema es fundamental para comprender la insuficiencia de las soluciones anteriores. Sigamos con eso, ¿de acuerdo?
Solución anterior 1: wget
La pregunta relacionada con StackOverflow "Recuperar sitio web antiguo de la máquina wayback" es probablemente el peor delincuente a este respecto, y recomienda la wget
duplicación de Wayback. Naturalmente, esa recomendación es fundamentalmente errónea.
En ausencia de una reescritura de URL externa compleja (p. Ej. Privoxy
), wget
No se puede utilizar para reflejar de manera confiable sitios archivados por Wayback. Como mpy detalles en "Problema Solución 2 +", cualquier herramienta que opta por la duplicación debe permitir a los no-transitiva descarga sólo las URL que pertenecen al sitio de destino. De manera predeterminada, la mayoría de las herramientas de duplicación descargan de forma transitiva todas las URL que pertenecen tanto al sitio de destino como a los sitios vinculados desde ese sitio, lo que, en el peor de los casos, significa "todo Internet".
Un ejemplo concreto está en orden. Al reflejar el dominio de ejemplo kearescue.com
, su herramienta de duplicación debe :
- Incluya todas las URL que coincidan
https://web.archive.org/web/*/http://kearescue.com
. Estos son activos proporcionados por el sitio de destino (por ejemplo, https://web.archive.org/web/20140521010450js_/http_/kearescue.com/media/system/js/core.js
).
- Excluir todas las demás URL. Estos son activos proporcionados por otros sitios simplemente vinculados desde el sitio de destino (por ejemplo,
https://web.archive.org/web/20140517180436js_/https_/connect.facebook.net/en_US/all.js
).
Al no excluir tales URL, generalmente se obtiene todo o la mayor parte de Internet archivado en el momento en que se archivó el sitio, especialmente para los sitios que incorporan activos alojados externamente (por ejemplo, videos de YouTube).
Eso sería malo. Mientras wget
lo hace proporcionar una línea de comandos --exclude-directories
opción de aceptar uno o más patrones coincidentes URL ser excluido, estos son no expresiones regulares de uso general; son globos simplistas cuya *
sintaxis coincide con cero o más caracteres excluyentes/
. Dado que las URL que se excluirán contienen arbitrariamente muchos /
caracteres, wget
no se pueden usar para excluir estas URL y, por lo tanto , no se pueden usar para reflejar sitios archivados en Wayback. Período. Fin de la historia desafortunada.
Este problema ha estado en registro público desde al menos 2009. Todavía no se ha resuelto. ¡Próximo!
Solución anterior 2: Scrapbook
Prinz recomienda ScrapBook
, un complemento de Firefox. Un complemento de Firefox.
Eso fue probablemente todo lo que necesitabas saber. Mientras ScrapBook
's Filter by String...
funcionalidad hace dirección de la mencionada 'Problema 2 + Solution', lo hace no aborda la posterior 'Problema 3 + Solution' - a saber, el problema de duplicados extraños.
Es cuestionable si ScrapBook
incluso aborda adecuadamente el problema anterior. Como admite mpy :
Aunque Scrapbook no logró capturar el sitio por completo ...
Las soluciones poco confiables y demasiado simplistas son no soluciones. ¡Próximo!
Solución anterior 3: wget + Privoxy
mpy proporciona una solución robusta que aprovecha ambos wget
y Privoxy
. Si bien wget
es razonablemente simple de configurar, Privoxy
es cualquier cosa menos razonable. O simple
Debido al obstáculo técnico imponderable de la instalación, configuración y uso adecuados, Privoxy
todavía tenemos que confirmar la solución de mpy . Se debe trabajar de una manera escalable y robusta. Dadas las barreras de entrada, esta solución es probablemente más apropiada para la automatización a gran escala que el webmaster promedio que intenta recuperar sitios de pequeña a mediana escala.
Es wget
+ Privoxy
digno de una mirada? Absolutamente. Pero la mayoría de los superusuarios podrían recibir un mejor servicio con soluciones más simples y más fácilmente aplicables.
Nueva solución: httrack
Enter httrack
, una utilidad de línea de comandos que implementa un superconjunto de wget
la funcionalidad de duplicación. httrack
admite la exclusión de URL basada en patrones y la reestructuración de sitios simplista. El primero resuelve el "Problema 2 + Solución" de mpy ; este último, "Problema 3 + Solución".
En el siguiente ejemplo abstracto, reemplace:
${wayback_url}
por la URL del directorio de nivel superior que archiva la totalidad de su sitio de destino (por ejemplo, 'https://web.archive.org/web/20140517175612/http://kearescue.com'
).
${domain_name}
por el mismo nombre de dominio presente al ${wayback_url}
excluir el prefijo http://
(por ejemplo, 'kearescue.com'
).
Aquí vamos. Instale httrack
, abra una ventana de terminal, cd
en el directorio local en el que desea que se descargue su sitio, y ejecute el siguiente comando:
httrack\
${wayback_url}\
'-*'\
'+*/${domain_name}/*'\
-N1005\
--advanced-progressinfo\
--can-go-up-and-down\
--display\
--keep-alive\
--mirror\
--robots=0\
--user-agent='Mozilla/5.0 (X11;U; Linux i686; en-GB; rv:1.9.1) Gecko/20090624 Ubuntu/9.04 (jaunty) Firefox/3.5'\
--verbose
Al finalizar, el directorio actual debe contener un subdirectorio para cada tipo de archivo reflejado desde esa URL. Esto generalmente incluye al menos:
css
, que contiene todas las hojas de estilo CSS reflejadas.
html
, que contiene todas las páginas HTML reflejadas.
js
, que contiene todos los JavaScript reflejados.
ico
, que contiene un favicon reflejado.
Dado que httrack
internamente reescribe todo el contenido descargado para reflejar esta estructura, su sitio ahora debe ser navegable sin modificaciones. Si detuvo prematuramente el comando anterior y desea continuar con la descarga, agregue la --continue
opción al mismo comando y vuelva a intentarlo.
Eso es. No se requieren contorsiones externas, reescritura de URL propensas a errores ni servidores proxy basados en reglas.
Disfruten, compañeros superusuarios.
20110722080716
instantánea, por lo tanto, la-np
opción de wget no ayudará.