52 votes

Comment mettre en miroir une partie seulement d'un site web ?

Je n'arrive pas à faire en sorte que wget soit le miroir d'une section d'un site web (un chemin de dossier en dessous de Root) - cela semble fonctionner uniquement à partir de la page d'accueil du site web.

J'ai essayé de nombreuses options - voici un exemple

wget -rkp -l3 -np  http://somewebsite/subpath/down/here/

Bien que je souhaite uniquement mettre en miroir les liens de contenu situés sous cette URL, je dois également télécharger toutes les ressources de la page qui ne se trouvent pas dans ce chemin.

Cela semble fonctionner correctement pour la page d'accueil ( / ) mais je n'arrive pas à le faire fonctionner pour aucun sous-dossier.

89voto

Attilio Points 818

Utilisez le --mirror ( -m ) et --no-parent ( -np ), plus quelques autres options intéressantes, comme dans cet exemple :

wget --mirror --page-requisites --adjust-extension --no-parent --convert-links
     --directory-prefix=sousers http://stackoverflow.com/users

19voto

ninjalj Points 22026

J'utilise habituellement :

wget -m -np -p $url

3voto

TMS Points 17522

J'utilise le pavuk pour réaliser les miroirs, car il m'a semblé dès le début bien meilleur pour cet usage. Vous pouvez utiliser quelque chose comme ça :

/usr/bin/pavuk -enable_js -fnrules F '*.php?*' '%o.php' -tr_str_str '?' '_questionmark_' \
               -norobots -dont_limit_inlines -dont_leave_dir \
               http://www.example.com/some_directory/ >OUT 2>ERR

0voto

Nick Sweeting Points 152

Jetez un coup d'œil à archivebox.io. Il s'agit d'un outil open-source, auto-hébergé, qui crée un clone HTML local, statique et navigable de sites Web (il enregistre le HTML, le JS, les fichiers multimédias, les PDF, les captures d'écran, les actifs statiques, etc.)

Par défaut, il n'archive que l'URL que vous spécifiez, mais nous ajoutons une option --depth=n qui vous permettra d'archiver récursivement les liens à partir d'une URL donnée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X