Download di file tramite wget


Risposte:


22

Penso che il tuo ?venga interpretato da shell (Correzione da vinc17: più probabilmente, è quello &che viene interpretato).

Prova con semplici citazioni attorno al tuo URL:

wget 'http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file'

Si noti che il file richiesto è un .tarfile ma il comando sopra lo salverà come index.html?acc=GSE48191&format=file. Per avere un nome corretto, puoi rinominarlo in .tar:

mv 'index.html?acc=GSE48191&format=file' GSE4819.tar

Oppure puoi assegnare il nome come opzione a wget:

wget -O GSE48191.tar 'http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file'

Il comando sopra salverà il file scaricato come GSE48191.tardirettamente.


Viene scaricato ma non è nemmeno una directory. Se guardi il link ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE48191 , puoi vedere che ci sono più file .gz. Non riesco ancora ad accedervi ??
user3138373,

Suppongo che l'OP utilizzi una shell che ignora ?come carattere jolly poiché nulla corrisponde. Il problema principale è &: questo eseguirà la parte che precede (quindi con un URL incompleto) in background. Ma la soluzione è la stessa: per citare l'URL.
vinc17,

Grazie a te terdon e vinc per le modifiche / correzioni. @ user3138373: Non riesco a trovare i tuoi file .gz sui link forniti, potresti per favore dire di nuovo quale URL usi per vederli / accedervi?
Qeole,

1
@ user3138373 il file scaricato è un archivio ( .tarfile) che contiene i file .gz. Una volta scaricato, esegui tar xvf GSE4819.tarper espandere l'archivio e accedere ai file.
terdon

3

Un altro modo che potrebbe eventualmente funzionare è usando questo comando:

wget -O nameOfTar.tar "http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file"

Il -Ocomando specificherà il nome in cui scaricare.

Naturalmente, il problema iniziale è dovuto al fatto che "&" è stato interpretato dalla shell, che racchiude l'URL tra virgolette per risolvere il problema.


2
-O L'opzione viene utilizzata per specificare il nome del file in cui vengono salvati i dati scaricati. Non ha alcuna incidenza sui dati scaricati (forse è quello che volevi dire, ma l'ho trovato poco chiaro).
Qeole,

Sì scusa, farò la mia correzione
ryekayo,

Non sono sicuro del motivo per cui questo è stato sottoposto a downgrade.
Ryekayo,

3
Non ho effettuato il downgrade, ma probabilmente perché la tua soluzione non risolve il problema: &viene interpretata dalla shell e il download del .tarfile fallirà.
Qeole,

0

wget -O "name-you-you-to-save-as.format" http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file

Questo dovrebbe farti scaricare il file che desideri scaricare nella directory corrente in cui ti trovi.


wget: missing URLè ciò che wgetrisponde a ciò, perché ti manca l'argomento -O. Inoltre, penso che questo probabilmente non risolva comunque il problema del PO.
Celada,

Poiché l'URL contiene &, questa risposta non funziona se non si aggiunge ""o ''intorno all'URL.
Aaron Franke,

0

Da $ curl -G http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191">here</a>.</p>
</body></html>

Quindi devi farlo

wget https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191

Notare la "s" dopo http. L'ho provato da solo e ha funzionato bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.