web-dev-qa-db-fra.com

Problème d'utilisation de wget pour télécharger un site Web entier

Comme indiqué dans la page de manuel wget:

pour télécharger une seule page et toutes ses conditions (même s’ils existent sur des sites Web distincts) et s’assurer que le lot s’affiche correctement au niveau local, cet auteur aime utiliser quelques options en plus de -p:

wget -E -H -k -K -p http://mysite.com/directory

Je comprends, si je veux télécharger mon site entièrement, je dois ajouter l’argument -r. Mais en utilisant les deux options -r et -H, le téléchargement de tous les sites Web accessibles à partir de http://mysite.com/directory . Une idée?

3
Ali

Si vous souhaitez utiliser wget, vous pouvez utiliser le paramètre de miroir pour créer une copie hors ligne d'un site Web, bien que certains sites Web puissent empêcher cela avec leurs paramètres robots.txt qui arrêtent le spider automatisé. J'ai toujours eu quelques problèmes avec wget (voir mon autre suggestion ci-dessous), mais la commande suivante fonctionne pour de nombreux sites. Cependant, sachez que l'ajout du commutateur -H lui permet d'accéder à tous les liens présents sur d'autres sites et de les sauvegarder également. Cet interrupteur de commande peut évidemment être supprimé s'il n'est pas requis.

 wget --wait 1 -x -H -mk http://site.to.mirror/

La commande wait laisse quelques espaces entre les demandes wget's afin que le site ne soit pas submergé, et le commutateur de commande -x indique que la structure de répertoires du site doit être reflétée dans un dossier de votre dossier de départ. Le commutateur -m désigne évidemment le mode miroir, qui permet à wget de télécharger de manière récursive sur le site; et le commutateur -k signifie qu'après le téléchargement, les fichiers référencés seront ceux de votre répertoire miroir dans votre dossier de départ et non ceux de retour sur le site lui-même.

Après man wget, peut-être que la meilleure liste et l'explication détaillée des commandes wget est ici .

Si wget échoue et que vous ne pouvez pas en saisir autant que vous le souhaitez, je devrais essayer le programme en ligne de commande httrack ou son interface Web, webhttrack, disponibles dans les référentiels. Il existe de nombreuses options pour ce programme, mais il est préférable de télécharger des sites Web entiers ou des parties de sites Web que wget. Webhttrack vous donne un assistant à suivre pour télécharger un site (il s'ouvre dans votre navigateur) comme le montre la capture d'écran ci-dessous.

Httrack

5
user76204

Il y a longtemps que j'utilise wget à cette fin:

Je crois que j'ai eu du succès avec le drapeau - m.

wget -mk http://site.com/directory

Cela n'obtiendra probablement pas tout - mais cela vous rapprochera.

(Référence): Cette page

1
MCR