1 votes

Comment télécharger plusieurs fichiers en utilisant Wget depuis Cygwin pour Windows

Je dispose d'un lien qui inclut 12 fichiers et je veux les télécharger tous en utilisant une seule commande dans Wget. Et j'utilise Cygwin comme terminal pour exécuter Wget.

Le lien est https://hydro1.gesdisc.eosdis.nasa.gov/data/NLDAS/NLDAS_FORA0125_M.002/1985/ et je veux seulement tous les fichiers .grb sous ce lien. J'ai essayé le code suivant, mais cela télécharge seulement tous les fichiers .xml.

J'ai trouvé des conseils sur https://disc.sci.gsfc.nasa.gov/recipes/?q=recipes/How-to-Download-Data-Files-from-HTTP-Service-with-wget, mais je n'arrive toujours pas à résoudre le problème. Merci pour toute aide.

wget --load-cookies ~/.urs_cookies --save-cookies ~/.urs_cookies --keep-session-cookies -r -c -nH -nd -np -A nc4,xml "https://hydro1.gesdisc.eosdis.nasa.gov/data/NLDAS/NLDAS_FORA0125_M.002/1985/"

Grâce à toute l'aide, j'ai réussi à le résoudre mais cela m'amène à une question plus compliquée. Il demande un nom d'utilisateur et un mot de passe, ce qui devrait être le cas, mais je ne sais pas comment Créer un fichier .netrc et Créer un fichier cookie comme recommandé sur https://disc.sci.gsfc.nasa.gov/recipes/?q=recipes/How-to-Download-Data-Files-from-HTTP-Service-with-wget.

Voici une description brève de ce que je dois faire.

Pour exécuter wget, vous devez configurer .netrc et créer un fichier cookie:
Créez un fichier .netrc dans votre répertoire personnel.
a. cd ~ ou cd $HOME
b. touch .netrc
c. echo "machine urs.earthdata.nasa.gov login  password " >> .netrc
     où  est votre nom d'utilisateur et  est votre mot de passe URS
d. chmod 0600 .netrc (pour que vous seul puissiez y accéder)

Créez un fichier cookie. Ce fichier sera utilisé pour conserver les sessions entre les appels à Wget ou Curl. Par exemple:
a. cd ~ ou cd $HOME
b. touch .urs_cookies

Je me demande comment je peux faire cela dans Wget depuis Cygwin pour Windows.

1voto

Xen2050 Points 13136

En ne regardant que votre exemple, il montre -A nc4,xml ce qui expliquerait le téléchargement uniquement des fichiers .xml, il ne doit pas y avoir de fichiers nc4 à ce lien.

Quoi qu'il en soit, voici ce que man wget dit à propos de -A:

Options de récursion d'acceptation/rejet
   -A acclist --accept acclist
   -R rejlist --reject rejlist
       Spécifiez des listes séparées par des virgules de suffixes de nom de fichier ou de motifs
       à accepter ou rejeter. Notez que si l'un des caractères génériques
       *, ?, [ ou ], apparaît dans un élément de acclist ou
       rejlist, il sera traité comme un motif, plutôt qu'un suffixe.
       Dans ce cas, vous devez mettre le motif entre guillemets pour
       empêcher votre shell de l'expanser, comme dans -A "*.mp3" ou -A
       '*.mp3'.

Donc, pour uniquement les fichiers grb, essayez d'utiliser -A grb comme suit:

wget --load-cookies ~/.urs_cookies --save-cookies ~/.urs_cookies --keep-session-cookies -r -c -nH -nd -np -A nc4,xml "https://hydro1.gesdisc.eosdis.nasa.gov/data/NLDAS/NLDAS_FORA0125_M.002/1985/"

Après modifications:

Le nom d'utilisateur et le mot de passe devraient être assez simples, essayez d'ajouter ceci:

   --user=user
   --password=password
       Spécifiez le nom d'utilisateur user et le mot de passe password pour le téléchargement de fichiers FTP
       et HTTP. Ces paramètres peuvent être modifiés
       en utilisant les options --ftp-user et --ftp-password pour les connexions FTP
       et les options --http-user et --http-password pour
       les connexions HTTP.

encore une fois à partir de man wget. Et renseignez-vous sur les options --save-cookies file et `--read-cookies file` dans le manuel, cela peut être compliqué de sauvegarder les cookies depuis un navigateur, s'ils ne fonctionnent pas dans wget.

1voto

td512 Points 5005

Facile. Il manque une option

wget --load-cookies ~/.urs_cookies --save-cookies ~/.urs_cookies --keep-session-cookies -r -c -nH -nd -np -R html,xml -A grb "https://hydro1.gesdisc.eosdis.nasa.gov/data/NLDAS/NLDAS_FORA0125_ M.002/1985/"

-R pour rejeter tous les fichiers html et xml, et -A pour accepter uniquement les fichiers grb

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