Télécharger TOUS les dossiers, sous-dossiers et fichiers à l'aide de Wget

20

J'utilise Wget et j'ai rencontré un problème. J'ai un site qui contient plusieurs dossiers et sous-dossiers au sein du site. J'ai besoin de télécharger tout le contenu de chaque dossier et sous-dossier. J'ai essayé plusieurs méthodes en utilisant Wget, et quand je vérifie l'achèvement, tout ce que je peux voir dans les dossiers est un fichier "index". Je peux cliquer sur le fichier d'index, et cela m'amènera aux fichiers, mais j'ai besoin des fichiers réels.

Quelqu'un a-t-il une commande pour Wget que j'ai négligée, ou existe-t-il un autre programme que je pourrais utiliser pour obtenir toutes ces informations?

exemple de site:

www.mysite.com/Pictures/ dans le DIr Images, il y a plusieurs dossiers .....

www.mysite.com/Pictures/Accounting/

www.mysite.com/Pictures/Managers/North America / California / JoeUser.jpg

J'ai besoin de tous les fichiers, dossiers, etc .....

Épouvantable Henry
la source
1
Avez-vous lu la documentation pour wget, spécifiquement pour l' utiliser récursivement ?
Moses
Il y a aussi un article dans la documentation ici qui semble pertinent.
Moses

Réponses:

37

Je veux supposer que vous n'avez pas essayé ceci:

wget -r --no-parent http://www.mysite.com/Pictures/

ou pour récupérer le contenu, sans télécharger les fichiers "index.html":

wget -r --no-parent --reject "index.html *" http://www.mysite.com/Pictures/

Référence: utilisation de wget pour récupérer récursivement un répertoire contenant des fichiers arbitraires

Felix Imafidon
la source
1
Merci, j'ai exécuté cette commande plusieurs fois, mais je n'ai pas laissé la commande se terminer jusqu'à la fin. J'ai été suivi de côté et j'ai laissé la commande se terminer, et il a copié TOUS les dossiers d'abord, puis il est revenu et a copié TOUS les fichiers dans le dossier.
Horrid Henry
va juste pour vous montrer, si j'avais de la patience, j'aurais fait faire ça il y a 2 semaines .... LOL. :) Merci encore.
Horrid Henry
@Horrid Henry, Félicitations!
Felix Imafidon
J'utilise la commande similaire mais j'obtiens uniquement un fichier index.html!
shenkwen
20

j'utilise wget -rkpN -e robots=off http://www.example.com/

-r signifie récursivement

-ksignifie convertir des liens. Les liens sur la page Web seront donc localhost au lieu de example.com/bla

-p signifie obtenir toutes les ressources de la page Web afin d'obtenir des images et des fichiers javascript pour que le site Web fonctionne correctement.

-N consiste à récupérer les horodatages, donc si les fichiers locaux sont plus récents que les fichiers sur un site Web distant, ignorez-les.

-eest une option de drapeau dont elle a besoin pour être opérationnelle robots=off.

robots=off signifie ignorer le fichier robots.

J'ai également eu -cdans cette commande, donc si la connexion a chuté, elle continuerait là où elle s'était arrêtée lorsque j'ai réexécuté la commande. Je pensais -Nque ça irait bien avec-c

Tim Jonas
la source
Pourriez-vous ajouter quelques phrases à votre réponse pour expliquer ce que font ces réglages de paramètres?
fixer1234
Pardon. sûr de les ajouter maintenant
Tim Jonas
J'ai mis à jour ma réponse
Tim Jonas
Merci. Donc -c devrait-il faire partie de votre exemple de commande ou être ajouté éventuellement après un téléchargement incomplet? De plus, le -e est tel que la commande a priorité sur tous ceux qui peuvent être dans .wgetrc? Et est-ce une faute de frappe pour -r (récursif vs reclus)?
fixer1234
Oui c'est correct. Oui -eexécutera la commande comme si elle faisait partie de .wgetrc Je l'ai ajoutée là car robots=offelle ne semblait pas fonctionner sans elle.
Tim Jonas
1

wget -m -A * -pk -e robots = off www.mysite.com/ cela téléchargera tous les types de fichiers localement et les pointera du fichier html
et il ignorera le fichier robots

Abdalla Mohamed Aly Ibrahim
la source