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.