wgetを使用したファイルのダウンロード


15

このWebサイトからファイルをダウンロードしようとしています。

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

このコマンドを使用する場合:

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

index.html?acc=GSE48191ある種のバイナリ形式のみを取得します。

このHTTPサイトからファイルをダウンロードするにはどうすればよいですか?

回答:


22

あなた?はシェルによって解釈されると思います(vinc17による修正:おそらく、&解釈されるのはそれです)。

URLを単純な引用符で試してください:

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

要求している.tarファイルはファイルですが、上記のコマンドはそれをとして保存することに注意してくださいindex.html?acc=GSE48191&format=file。正しく名前を付けるには、名前を.tar次のいずれかに変更できます。

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

または、次のオプションとして名前を指定できますwget

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

上記のコマンドは、ダウンロードしたファイルをGSE48191.tar直接保存します。


ダウンロードされますが、ディレクトリではありません。ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE48191のリンクを見ると、複数の.gzファイルがあることがわかります。私はまだそれらにアクセスできませんか??
user3138373 14

OPは、?一致するものがないため、ワイルドカードとして無視するシェルを使用すると思われます。主な問題は&次のとおりです。これにより、バックグラウンドで(したがって不完全なURLが)先行する部分が実行されます。しかし、解決策は同じです。URLを引用することです。
vinc17 14

編集/修正については、terdonとvincに感謝します。@ user3138373:提供されたリンクに.gzファイルが見つかりません。参照/アクセスに使用するURLをもう一度教えてください。
Qeole 14

1
@ user3138373ダウンロードするファイル.tarは、.gzファイルを含むアーカイブ(ファイル)です。ダウンロードしたら、実行tar xvf GSE4819.tarしてアーカイブを展開し、ファイルにアクセスします。
テルドン

3

動作する可能性がある別の方法は、次のコマンドを使用することです。

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

この-Oコマンドは、ダウンロードする名前を指定します。

もちろん、最初の問題は、「&」がシェルによって解釈されていたためです。URLを二重引用符で囲むと問題が修正されます。


2
-O オプションは、ダウンロードされたデータが保存されるファイルの名前を指定するために使用されます。ダウンロードしたデータには影響がありません(おそらくそれがあなたの意図したことかもしれませんが、私はそれが不明瞭だと感じました)。
Qeole 14

申し訳ありませんはい、私は私の補正を行います
ryekayo

これがなぜ投票されたのかはわかりません。
ryekayo

3
私はダウン投票しませんでしたが、それはおそらくあなたの解決策が問題を解決しないためです:&シェルによって解釈され、.tarファイルのダウンロードは失敗します。
Qeole 14

0

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

これにより、現在のディレクトリにダウンロードするファイルが取得されます。


wget: missing URLwgetに対する引数が欠落しているため、これに応答するものです-O。また、とにかくこれはOPの問題を解決しないと思います。
セラダ

URLにはが含まれているため&、この回答は、URL を追加する""''、URLの周りに配置しない限り機能しません。
アーロンフランケ

0

$ 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>

だからあなたはする必要があります

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

httpの後の「s」に注意してください。私は自分で試してみましたが、うまくいきました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.