Téléchargement de fichiers à l'aide de wget


Réponses:


22

Je pense que votre ?obtient interprété par shell (Correction par vinc17: plus probablement, c'est le &qui est interprété).

Essayez simplement avec des citations simples autour de votre URL:

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

Notez que le fichier que vous demandez est un .tarfichier mais la commande ci-dessus l'enregistrera sous index.html?acc=GSE48191&format=file. Pour le nommer correctement, vous pouvez soit le renommer .tar:

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

Ou vous pouvez donner le nom en option pour wget:

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

La commande ci-dessus enregistrera GSE48191.tardirectement le fichier téléchargé .


Il est téléchargé mais ce n'est même pas un répertoire. Si vous regardez le lien ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE48191 , vous pouvez voir qu'il existe plusieurs fichiers .gz. Je ne peux toujours pas y accéder ??
user3138373

Je suppose que l'OP utilise un shell qui ignore ?comme caractère générique car rien ne correspond. Le problème principal est &: cela exécutera la partie qui précède (donc avec une URL incomplète) en arrière-plan. Mais la solution est la même: citer l'URL.
vinc17

Merci à vous terdon et vinc pour l'édition / corrections. @ user3138373: Je ne trouve pas vos fichiers .gz sur les liens fournis, pourriez-vous répéter l'URL que vous utilisez pour les voir / y accéder?
Qeole

1
@ user3138373 le fichier que vous téléchargez est une archive ( .tarfichier) qui contient les fichiers .gz. Une fois que vous l'avez téléchargé, exécutez tar xvf GSE4819.tarpour développer l'archive et accéder aux fichiers.
terdon

3

Une autre façon qui pourrait éventuellement fonctionner est d'utiliser cette commande:

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

La -Ocommande spécifiera le nom à télécharger.

Bien sûr, votre problème initial est dû au fait que le "&" était interprété par le shell, entourant l'URL de guillemets doubles résout le problème.


2
-O L'option est utilisée pour spécifier le nom du fichier dans lequel les données téléchargées sont enregistrées. Cela n'a aucune incidence sur les données téléchargées (c'est peut-être ce que vous vouliez dire, mais je l'ai trouvé peu clair).
Qeole

Oui désolé, je vais faire ma correction
ryekayo

Je ne sais pas pourquoi cela a été rejeté.
ryekayo

3
Je n'ai pas downvote, mais c'est probablement parce que votre solution ne résout pas le problème: &est interprétée par le shell, et le téléchargement du .tarfichier échouera.
Qeole

0

wget -O "nom-que-vous-voulez-enregistrer-comme.format" http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file

Cela devrait vous permettre d'obtenir le fichier que vous souhaitez télécharger dans le répertoire actuel dans lequel vous vous trouvez.


wget: missing URLest ce qui wgetrépond à cela, car il vous manque l'argument -O. De plus, je pense que cela ne résout probablement pas le problème du PO de toute façon.
Celada

Parce que l'URL contient &, cette réponse ne fonctionne que si vous ajoutez ""ou ''autour de l'URL.
Aaron Franke

0

À partir de $ 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>

Vous devez donc faire

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

Remarquez le "s" après http. Je l'ai essayé moi-même et cela a très bien fonctionné.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.