Téléchargez un site Web entier à partir d’Internet Archive Wayback Machine.
Vous devez installer Ruby sur votre système (>= 1.9.2) - si vous ne l'avez pas déjà. Puis exécutez :
gem install wayback_machine_downloader
Astuce : Si vous rencontrez des erreurs d'autorisation, vous devrez peut-être ajouter sudo
devant cette commande.
Exécutez wayback_machine_downloader avec l'URL de base du site Web que vous souhaitez récupérer comme paramètre (par exemple, http://example.com) :
wayback_machine_downloader http://example.com
Il téléchargera la dernière version de chaque fichier présent sur Wayback Machine sur ./websites/example.com/
. Il recréera également une structure de répertoires et créera automatiquement des pages index.html
pour fonctionner de manière transparente avec Apache et Nginx. Tous les fichiers téléchargés sont les originaux et non les versions réécrites de Wayback Machine. De cette façon, la structure des URL et des liens est la même qu’auparavant.
Usage: wayback_machine_downloader http://example.com
Download an entire website from the Wayback Machine.
Optional options:
-d, --directory PATH Directory to save the downloaded files into
Default is ./websites/ plus the domain name
-s, --all-timestamps Download all snapshots/timestamps for a given website
-f, --from TIMESTAMP Only files on or after timestamp supplied (ie. 20060716231334)
-t, --to TIMESTAMP Only files on or before timestamp supplied (ie. 20100916231334)
-e, --exact-url Download only the url provided and not the full site
-o, --only ONLY_FILTER Restrict downloading to urls that match this filter
(use // notation for the filter to be treated as a regex)
-x, --exclude EXCLUDE_FILTER Skip downloading of urls that match this filter
(use // notation for the filter to be treated as a regex)
-a, --all Expand downloading to error files (40x and 50x) and redirections (30x)
-c, --concurrency NUMBER Number of multiple files to download at a time
Default is one file at a time (ie. 20)
-p, --maximum-snapshot NUMBER Maximum snapshot pages to consider (Default is 100)
Count an average of 150,000 snapshots per page
-l, --list Only list file urls in a JSON format with the archived timestamps, won't download anything
-d, --directory PATH
Facultatif. Par défaut, Wayback Machine Downloader téléchargera les fichiers sur ./websites/
suivi du nom de domaine du site Web. Vous souhaiterez peut-être enregistrer les fichiers dans un répertoire spécifique en utilisant cette option.
Exemple:
wayback_machine_downloader http://example.com --directory downloaded-backup/
-s, --all-timestamps
Facultatif. Cette option téléchargera tous les horodatages/instantanés d’un site Web donné. Il utilisera l'horodatage de chaque instantané comme répertoire.
Exemple:
wayback_machine_downloader http://example.com --all-timestamps
Will download:
websites/example.com/20060715085250/index.html
websites/example.com/20051120005053/index.html
websites/example.com/20060111095815/img/logo.png
...
-f, --from TIMESTAMP
Facultatif. Vous souhaiterez peut-être fournir un horodatage de départ pour verrouiller votre sauvegarde sur une version spécifique du site Web. Les horodatages peuvent être trouvés dans les URL du site Web régulier de Wayback Machine (par exemple, https://web.archive.org/web/20060716231334/http://example.com). Vous pouvez également utiliser des années (2006), des années + mois (200607), etc. Il peut être utilisé en combinaison avec To Timestamp. Wayback Machine Downloader récupérera alors uniquement les versions de fichiers à partir de l'horodatage spécifié.
Exemple:
wayback_machine_downloader http://example.com --from 20060716231334
-t, --to TIMESTAMP
Facultatif. Vous souhaiterez peut-être fournir un horodatage pour verrouiller votre sauvegarde sur une version spécifique du site Web. Les horodatages peuvent être trouvés dans les URL du site Web régulier de Wayback Machine (par exemple, https://web.archive.org/web/20100916231334/http://example.com). Vous pouvez également utiliser des années (2010), des années + mois (201009), etc. Il peut être utilisé en combinaison avec From Timestamp. Wayback Machine Downloader récupérera alors uniquement les versions de fichiers au plus tard à l'horodatage spécifié.
Exemple:
wayback_machine_downloader http://example.com --to 20100916231334
-e, --exact-url
Facultatif. Si vous souhaitez récupérer uniquement le fichier correspondant exactement à l'url fournie, vous pouvez utiliser cet indicateur. Cela évitera de télécharger autre chose.
Par exemple, si vous souhaitez uniquement télécharger le fichier html de la page d'accueil de example.com :
wayback_machine_downloader http://example.com --exact-url
-o, --only ONLY_FILTER
Facultatif. Vous souhaiterez peut-être récupérer des fichiers d'un certain type (par exemple, .pdf, .jpg, .wrd...) ou se trouvant dans un répertoire spécifique. Pour ce faire, vous pouvez fournir l'indicateur --only
avec une chaîne ou une expression régulière (en utilisant la notation « /regex/ ») pour limiter les fichiers que Wayback Machine Downloader téléchargera.
Par exemple, si vous souhaitez uniquement télécharger des fichiers dans un my_directory
spécifique :
wayback_machine_downloader http://example.com --only my_directory
Ou si vous souhaitez télécharger toutes les images sans rien d'autre :
wayback_machine_downloader http://example.com --only "/.(gif|jpg|jpeg)$/i"
-x, --exclude EXCLUDE_FILTER
Facultatif. Vous souhaiterez peut-être récupérer des fichiers qui ne sont pas d'un certain type (par exemple, .pdf, .jpg, .wrd...) ou qui ne se trouvent pas dans un répertoire spécifique. Pour ce faire, vous pouvez fournir l'indicateur --exclude
avec une chaîne ou une expression régulière (en utilisant la notation « /regex/ ») pour limiter les fichiers que Wayback Machine Downloader téléchargera.
Par exemple, si vous souhaitez éviter de télécharger des fichiers dans my_directory
:
wayback_machine_downloader http://example.com --exclude my_directory
Ou si vous souhaitez tout télécharger sauf les images :
wayback_machine_downloader http://example.com --exclude "/.(gif|jpg|jpeg)$/i"
-a, --all
Facultatif. Par défaut, Wayback Machine Downloader se limite aux fichiers qui ont répondu avec le code 200 OK. Si vous avez également besoin de fichiers d'erreurs (codes 40x et 50x) ou de fichiers de redirections (codes 30x), vous pouvez utiliser l'indicateur --all
ou -a
et Wayback Machine Downloader les téléchargera en plus des 200 fichiers OK. Il conservera également les fichiers vides supprimés par défaut.
Exemple:
wayback_machine_downloader http://example.com --all
-l, --list
Il affichera simplement les fichiers à télécharger avec leurs horodatages et URL d'instantané. Le format de sortie est JSON. Il ne téléchargera rien. C'est utile pour le débogage ou pour se connecter à une autre application.
Exemple:
wayback_machine_downloader http://example.com --list
-p, --snapshot-pages NUMBER
Facultatif. Spécifiez le nombre maximum de pages d'instantanés à prendre en compte. Comptez en moyenne 150 000 instantanés par page. 100 est le nombre maximum par défaut de pages d'instantanés et devrait être suffisant pour la plupart des sites Web. Utilisez un nombre plus grand si vous souhaitez télécharger un très grand site Web.
Exemple:
wayback_machine_downloader http://example.com --snapshot-pages 300
-c, --concurrency NUMBER
Facultatif. Spécifiez le nombre de fichiers multiples que vous souhaitez télécharger en même temps. Permet d’accélérer considérablement le téléchargement d’un site Web. La valeur par défaut consiste à télécharger un fichier à la fois.
Exemple:
wayback_machine_downloader http://example.com --concurrency 20
Comme méthode d'installation alternative, nous avons une image Docker ! Récupérez l’image Docker wayback-machine-downloader de cette façon :
docker pull hartator/wayback-machine-downloader
Ensuite, vous devriez pouvoir utiliser l'image Docker pour télécharger des sites Web. Par exemple:
docker run --rm -it -v $PWD/websites:/websites hartator/wayback-machine-downloader http://example.com
Les contributions sont les bienvenues ! Soumettez simplement une pull request via GitHub.
Pour exécuter les tests :
bundle install
bundle exec rake test