Comment télécharger HTTP répertoire avec tous les fichiers et sous-répertoires tels qu'ils apparaissent sur la ligne des fichiers/dossiers de la liste?
Il est en ligne HTTP répertoire que j'ai accès. J'ai essayé de télécharger tous les sous-répertoires et des fichiers via wget
. Mais, le problème est que lorsque wget
téléchargements de sous-répertoires, il télécharge le index.html
fichier qui contient la liste des fichiers dans ce répertoire sans avoir à télécharger les fichiers eux-mêmes.
Est-il un moyen de télécharger les sous-répertoires et des fichiers sans limite de profondeur (comme si le répertoire que je veux télécharger est juste un dossier que je veux copier sur mon ordinateur).
Vous devez vous connecter pour publier un commentaire.
Solution:
Explication:
-r
: de manière récursive-np
: qui n'est pas supérieure répertoires, comme ccc/...-nH
: ne pas enregistrer les fichiers sur le nom d'hôte dossier--cut-dirs=3
: mais l'enregistrement à ddd en omettant3 premiers dossiers aaa, bbb, ccc
-R index.html
: à l'exclusion des index.htmlfichiers
Référence: http://bmwieczorek.wordpress.com/2008/10/01/wget-recursively-download-all-files-from-certain-directory-listed-by-apache/
-R
comme-R css
pour exclure tous les fichiers CSS, ou de l'utilisation-A
comme-A pdf
de télécharger les fichiers PDF.When downloading from Internet servers, consider using the ‘-w’ option to introduce a delay between accesses to the server. The download will take a while longer, but the server administrator will not be alarmed by your rudeness.
robots.txt
fichier interdisant le téléchargement de fichiers dans le répertoire, cela ne fonctionne pas. Dans ce cas, vous devez ajouter-e robots=off
. Voir unix.stackexchange.com/a/252564/10312Warning: Invalid character is found in given range. A specified range MUST Warning: have only digits in 'start'-'stop'. The server's response to this Warning: request is uncertain. curl: no URL specified! curl: try 'curl --help' or 'curl --manual' for more information
aucun résultatcurl -O 'http://example.com/directory/'
mais ne pas aller par le biais de :curl: Remote file name has no length!
il y a une page html avec<pre> <a href="name.pdf">name.pdf</a> <a href="name2.pdf">name2.pdf</a> <a href="image1.png">image1.png</a> <a href="name3.pdf">name3.pdf</a>...</pre>
et je souhaite télécharger tous les documents énumérés (dans le href).J'ai pu obtenir que cela fonctionne grâce ce post utilisant VisualWGet. Il a très bien fonctionné pour moi. L'important semble être de vérifier la
-recursive
drapeau (voir l'image).Également constaté que la
-no-parent
indicateur est important, autrement il va essayer de tout télécharger.De
man wget
‘-r’
‘--recursive’
Allumez récursive de la récupération. Voir Récursive Télécharger, pour plus de détails. La valeur par défaut de la profondeur maximale est de 5.
‘np’
‘--no-parent"
Ne jamais monter sur le répertoire parent lors de la récupération de manière récursive. Cette option est particulièrement utile, car il garantit que seuls les fichiers en dessous d'une certaine hiérarchie sera téléchargé. Consultez l'Annuaire des Limites, pour plus de détails.
‘-nH’
‘--no-accueil-répertoires’
Désactiver la génération de l'hôte préfixé répertoires. Par défaut, en l'invoquant avec Wget ‘-r http://fly.srk.fer.hr/ " sera de créer une structure de répertoires commençant par la mouche.srk.fer.rh/. Cette option désactive un tel comportement.
‘--cut-dirs= " nombre de
Ignorer numéro de répertoire de composants. C'est utile pour avoir un contrôle fin sur le répertoire où récursif de fichiers seront sauvegardés.
Prendre, par exemple, le répertoire à ‘ftp://ftp.xemacs.org/pub/xemacs/’. Si vous le retrouver avec l'option ‘-r’, il sera enregistré localement sous http://ftp.xemacs.org/pub/xemacs/. Alors que le ‘-nH’ option permet de supprimer l'ftp.xemacs.org/partie, vous êtes toujours coincé avec pub/xemacs. C'est là--cut-dirs’ est très pratique; il permet à Wget de ne pas “voir” numéro de répertoire distant composants. Voici plusieurs exemples de la façon dont " --cut-dirs’ option fonctionne.
Pas d'options -> http://ftp.xemacs.org/pub/xemacs/
-nH -> pub/xemacs/
-nH --cut-dirs=1 -> xemacs/
-nH --cut-dirs=2 -> .
--cut-dirs=1 -> http://ftp.xemacs.org/xemacs/
...
Si vous voulez juste pour se débarrasser de la structure de répertoire, cette option est semblable à une combinaison de ‘-nd " et "- P". Cependant, contrairement ‘-nd’, ‘--cut-dirs "ne pas perdre avec des sous-répertoires, par exemple ‘-nH --cut-dirs=1", un beta/sous-répertoire sera mis à xemacs/beta, que l'on pourrait attendre.
wget
est une ressource précieuse et quelque chose que j'utilise moi-même. Cependant, parfois il y a des caractères dans l'adresse quewget
identifie comme des erreurs de syntaxe. Je suis sûr qu'il y est une solution, mais comme cette question n'a pas demandé spécifiquement surwget
j'ai pensé que je voudrais offrir une alternative pour les personnes qui seront sans doute de tomber sur cette page à la recherche d'une solution rapide avec pas de courbe d'apprentissage requise.Il y a quelques extensions de navigateur qui peut faire cela, mais la plupart demandent d'installer des gestionnaires de téléchargement, qui ne sont pas toujours libres, ont tendance à être une horreur, et d'utiliser beaucoup de ressources. Heres un qui n'en a aucun de ces inconvénients:
"Télécharger Maître" est une extension pour Google Chrome qui fonctionne très bien pour le téléchargement à partir de répertoires. Vous pouvez choisir de filtrer les types de fichiers à télécharger, ou télécharger l'intégralité du répertoire.
https://chrome.google.com/webstore/detail/download-master/dljdacfojgikogldjffnkdcielnklkce
Pour une mise à jour de liste de fonctionnalités et d'autres informations, visitez la page du projet sur le développeur du blog:
http://monadownloadmaster.blogspot.com/
Aucun Logiciel ou Plugin nécessaire!
Utiliser un bookmarklet. Faites glisser ce lien dans les signets, puis modifier et collez ce code:
et aller sur la page (à partir de l'endroit où vous souhaitez télécharger les fichiers), et cliquez sur ce bookmarklet.
Vous pouvez utiliser cette addon Firefox télécharger tous les fichiers dans le Répertoire HTTP.
https://addons.mozilla.org/en-US/firefox/addon/http-directory-downloader/
wget fonctionne, en général, de cette façon, mais certains sites peuvent avoir des problèmes et il peut créer aussi bien des fichiers html. Afin de rendre ce travail plus facile et pour éviter de création du fichier, je suis le partage de mon getwebfolder script, qui est le premier script linux que j'ai écrit pour moi-même. Ce script permet de télécharger tous les contenus d'un dossier web est entré en paramètre.
Lorsque vous essayez de télécharger ouvrir un dossier web par wget qui contient plus d'un fichier, wget télécharge un fichier nommé index.html. Ce fichier contient une liste des fichiers du dossier web. Mon script convertit les noms de fichiers écrits en index.html fichier d'adresses web et les téléchargements clairement avec wget.
Testé sur Ubuntu 18.04 et Kali Linux, Il peut fonctionner à d'autres distributions ainsi.
Utilisation :
extrait getwebfolder fichier à partir du fichier zip fourni ci-dessous
chmod +x getwebfolder
(seulement pour la première fois)./getwebfolder webfolder_URL
comme
./getwebfolder http://example.com/example_folder/
Lien De Téléchargement
Les détails sur le blog