Como baixar vários arquivos usando o Wget do Cygwin for Windows

1

Eu tenho um link que inclui 12 arquivos e eu quero baixar todos eles usando apenas um comando em Wget . E eu uso o Cygwin como um terminal para executar Wget .

O link é link e eu quero apenas todos os .grb arquivos sob este link. Eu cansei o seguinte código, mas ele apenas baixa todos os arquivos .xml .

Eu acho alguns conselhos de link , mas ainda não consigo resolver o problema. Obrigado por qualquer ajuda.

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/"

Graças a toda a ajuda, consertei, mas depois chega-se a uma questão mais complicada. Requer nome de usuário e senha, o que deve ser o caso, mas eu não sei como Create a .netrc file e Create a cookie file como recomendado por link .

Aqui está uma descrição completa do que preciso fazer.

To run wget, you need to set up .netrc and create a cookie file:
Create a .netrc file in your home directory.
a. cd ~ or cd $HOME
b. touch .netrc
c. echo "machine urs.earthdata.nasa.gov login <uid> password <password>" >> .netrc
     where <uid> is your user name and <password> is your URS password
d. chmod 0600 .netrc (so only you can access it)

Create a cookie file. This file will be used to persist sessions across calls to Wget or Curl. For example:
a. cd ~ or cd $HOME
b. touch .urs_cookies

Gostaria de saber como posso fazer isso em Wget do Cygwin para Windows.

    
por Yang Yang 13.03.2017 / 21:46

2 respostas

1

Olhando apenas para o seu exemplo, ele mostra -A nc4,xml , o que explicaria apenas o download de arquivos .xml, não deve haver nenhum arquivo nc4 nesse link.

De qualquer forma, eis o que man wget diz sobre -A :

Recursive Accept/Reject Options
   -A acclist --accept acclist
   -R rejlist --reject rejlist
       Specify comma-separated lists of file name suffixes or patterns
       to accept or reject. Note that if any of the wildcard
       characters, *, ?, [ or ], appear in an element of acclist or
       rejlist, it will be treated as a pattern, rather than a suffix.
       In this case, you have to enclose the pattern into quotes to
       prevent your shell from expanding it, like in -A "*.mp3" or -A
       '*.mp3'.

Portanto, apenas para arquivos grb, tente usar -A grb como em:

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/"

Após as edições:

Nome de usuário & A senha deve ser bastante fácil, tente adicionar estes:

   --user=user
   --password=password
       Specify the username user and password password for both FTP
       and HTTP file retrieval.  These parameters can be overridden
       using the --ftp-user and --ftp-password options for FTP
       connections and the --http-user and --http-password options for
       HTTP connections.

novamente em man wget . E leia sobre as opções --save-cookies file e '--read-cookies file', pode ser complicado salvar cookies de um navegador da web, se eles não funcionarem no wget.

    
por 13.03.2017 / 22:52
1

Fácil. Você está perdendo uma opção

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 para rejeitar todos os arquivos html e xml e -A para aceitar somente grb arquivos

    
por 13.03.2017 / 22:57