1 votes

wget un répertoire d'index de site web distant

Est-il possible de récupérer un répertoire index/parent entier avec wget ? Parce que j'essaie de transférer des images vers un de mes VPS depuis mon ancien hôte partagé.

Quand je dis un répertoire index/parent, je veux dire comme ça :

enter image description here

En gros, je veux que wget passe par chaque fichier et le télécharge jusqu'à ce que tous aient été téléchargés.

A la vôtre.

0 votes

Je me fais juste l'avocat du diable ici... vous n'avez pas d'accès ftp à votre ancien hôte partagé ?

0 votes

Je suis d'accord avec @iain, si c'est votre vps ne pouvez-vous pas simplement tar/zip ou transférer en utilisant ftp/sftp/scp ?

0 votes

J'ai un accès ftp, mais je ne sais pas comment faire un FTP depuis le vps vers l'ancien hôte.

2voto

iainlbc Points 2684

Le commutateur -r (récursif) de wget devrait fonctionner, -l X spécifie la profondeur à parcourir (5 niveaux maximum) :

wget -r -l 1 http://domain.com/directory/

source : http://www.gnu.org/software/wget/manual/wget.html#Recursive-Download

0 votes

Bon sang ! Je savais qu'il y avait un moyen plus facile. La mienne est plus créative. :) Bien joué !

2voto

G Ramakrishna Points 11

Vous avez mentionné qu'il y a un accès ftp, wget prend en charge le ftp dès sa sortie de l'emballage :

wget -r -l0 --ftp-user=user --ftp-password=pass ftp://yourdomain.com/dir/*

0voto

MagicAndi Points 10128

En supposant que vous n'avez pas de Shell ou d'accès FTP ni de panneau de contrôle, et que c'est une demande légitime, vous pourriez vouloir jeter un coup d'oeil à un logiciel de spidering - j'ai trouvé pavuk utile pour cela dans le passé.

0voto

jdcarg Points 76

Je ne sais pas si wget supporte cela ou non, mais vous pourriez utiliser un bash script pour accomplir cela assez facilement.

Étape 1. Copiez et collez tout le texte de l'"index of /i" dans un fichier appelé "files" ou quelque chose d'autre qui a du sens sur le nouvel hôte.

Étape 2. Sur votre nouvelle machine, utilisez la commande suivante pour effectuer une recherche et un remplacement afin de créer les commandes wget pour chaque fichier que vous devez télécharger.

cat files | sed "s/^/wget http:\/\/yoursite.com\/path\//"

Ceci lit le fichier nommé "files" et le passe à sed qui insère "wget http://yoursite.com/path/file1.png "

Par exemple, je l'ai exécuté sur un fichier de mon ordinateur local. Le fichier "files" ne contient que des fichiers .png comme ceux qui suivent :

blah.png
blah1.png
blah2.png

et la sortie ressemble à ce qui suit après avoir exécuté la commande postée ci-dessus.

wget http://yoursite.com/path/blah.png
wget http://yoursite.com/path/blah1.png
wget http://yoursite.com/path/blah2.png

À ce stade, il suffit de copier et de coller tous les wgets générés dans le terminal ou en ligne de commande pour télécharger chaque fichier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X