完全なURLなしでファイルをダウンロードする方法は?

完全なURLなしでファイルをダウンロードする方法は?

ダウンロードするファイルの完全なURLはありませんが、特定のURLにアクセスしたときにのみURL全体をブラウザに渡すLinuxシェル(wget、カール付き)を介してファイルをダウンロードする方法がわかります。ただし、Linuxシェル(wgetまたはカールを使用)からダウンロードしようとすると、HTMLファイルのみを取得できます。

たとえば、ここから数MBの大容量ファイルをダウンロードしたいと思います。

http://www.ebi.ac.uk/ena/data/view/U00096.3&display=fasta&download=fasta&filename=entry.fasta

したがって、これをブラウザに貼り付けると、他のHTMLファイルの代わりに「entry.fasta」ファイルを保存できる「名前を付けて保存」ダイアログボックスが表示されます。私は提案通りにカール-O -L -Jを試しました。この問題しかし、また、成功しませんでした。

答え1

提供されたURLは正常にダウンロードされます。例:

wget "URL"
curl -O "URL"

コメントで述べたように:引用。常に引用されます!

このような文字は&シェルで特別な意味を持ち、そのような文字がなければURLは望み通りに解釈されません。


についてはファイル名がわからずダウンロード- まだ何を言っているのかよくわかりませんが、いくつかの注意事項を申し上げます。

これは特定の場所forebi.ac.uk

これURL特別な形で提供されます統一リソース識別子。おそらく、クエリ部分、特に最初の部分に興味があるでしょうU00096.3

他のファイルや範囲を表すように変更できます。たとえば、ダウンロードは次のようになりU00000ますU00096

curl -O "http://www.ebi.ac.uk/ena/data/view/U00000-U00096&display=fasta&download=fasta&filename=U00000-U00096.fasta"
                                            ^^^^ data ^^^

ファイル名部分は、ファイル名を指定する方法の提案にすぎません。必要に応じて変更できます。例: filename=myown.fasta– 変更されません。ダウンロードサーバーのみ -> Webブラウザで提案する名前で、カールなどでも使用されます。


サイトにはナビゲーションが必要な検索やリストの可能性が多すぎます。

何が起こっているのかを学ぶ

ダウンロードリンクをクリックするか、カールやwgetなどのツールを使用すると、特定のファイルに対する要求がebi.ac.ukサーバーに送信されます。あなたの例では、参照は次のように設定されている可能性があります。

http://www.ebi.ac.uk/ena/data/view/U00096.3

GET クエリは次を報告します。

query['display'] = fasta
query['download'] = fasta
query['filename'] = entry.fasta

サーバーは次のように応答します。

Content-Disposition: attachment; filename=entry.fasta

これは、サーバーがクライアントにファイル名の提案を返す方法です。オプションでカールバージョンを使用している場合は、-Jこのオプションを使用してファイルを次の名前で保存できます。

curl -OJ "URL"

上記のように

これは完全にサイトごとに異なり、サーバーでURLを解釈する方法はサイトの設定方法に関連しています。

他のホストのクエリ部分で異なる設定を使用すると、サーバーから名前付き物理filename=foo.txtファイルを取得することもできます。foo.txt

このウェブサイトebi.ac.ukの場合、ファイルはファイルではなくデータベースクエリを使用して動的に生成されたコンテンツです。クエリ結果はファイルに統合され、エンドユーザーに提供されます。

答え2

引用符がない場合、シェルは&これを「&までの行のすべてをバックグラウンドで実行し、残りの行を解釈/実行し続ける」と報告して解釈します。引用した場合、これは&URL文字列の一部にすぎません。

&URLに3秒があるため、引用符がない場合は4つのコマンドが実行されます。最初の3つはバックグラウンドジョブとして実行されます。

wget http://www.ebi.ac.uk/ena/data/view/U00096.3 &
display=fasta &
download=fasta &
filename=entry.fasta

修正はURLを引用することです。

wget 'http://www.ebi.ac.uk/ena/data/view/U00096.3&display=fasta&download=fasta&filename=entry.fasta'

ここでは一重引用符で十分ですが、URLに変数値を含めるには二重引用符を使用する必要があります。

答え3

たぶんあなたはできます注意深い使用再帰ダウンロード施設wget。だからあなたは

wget -r http://gcc-melt.org/

gcc-melt.orgサイトから「すべての」アクセス可能なファイルをダウンロードします。

(しかし必ず読んでください出荷書類ビーチwget試す前に)

PS。私はこのファイルの所有者であり作成者です。http://gcc-melt.org/ウェブサイトなので、過負荷が発生しないようにしてください。

関連情報