web-dev-qa-db-fra.com

Comment ne refléter qu'une partie d'un site Web?

Je ne peux pas faire en sorte que wget reflète une section d'un site Web (un chemin de dossier sous la racine) - cela ne semble fonctionner que depuis 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 veuille uniquement mettre en miroir les liens de contenu situés sous cette URL, je dois également télécharger tous les éléments de la page qui ne se trouvent pas dans ce chemin.

Cela semble fonctionner correctement pour la page d’accueil (/), mais je ne parviens pas à l’activer pour les sous-dossiers.

48
sub

Utilisez les options --mirror (-m) et --no-parent (-np), ainsi que quelques-unes des plus intéressantes, comme dans cet exemple:

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

J'utilise habituellement:

wget -m -np -p $url
15
ninjalj

J'utilise pavuk pour réaliser des miroirs, car cela semblait beaucoup mieux à cet effet dès le début. Vous pouvez utiliser quelque chose comme ceci:

/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
2
TMS

Découvrez archivebox.io, c'est un outil open source auto-hébergé qui crée un clone HTML statique, statique et navigable de sites Web (enregistre HTML, JS, fichiers multimédias, PDF, capture d'écran, actifs statiques, etc.).

Par défaut, il archive uniquement l'URL que vous spécifiez, mais nous ajoutons bientôt un indicateur --depth=n qui vous permettra d'archiver de manière récursive les liens à partir de l'URL donnée.

0
Nick Sweeting