web-dev-qa-db-ja.com

マルチスレッドHTTPダウンローダー

複数のスレッドで複数のURLをダウンロードできるコマンドラインツールを探しています.

wget2 -n 5 http://stackoverflow.com/ http://askubuntu.com/ http://bobo.com/

どこ-n = number of threads。 Axelに出くわしましたが、複数のURLを指定すると、ダウンロードするのは1つだけです。

HTMLファイルをダウンロードします。

3
Kohjah Breese

上記のすべての提案およびリンクされた提案は、2つの一意のURLを必要としません。同じファイルのミラーであるURLのみを使用します。

これを行うプログラムをいくつか見つけました。

最適なのはpuf(apt-get install puf)で、puf url1 url2などを使用します。

次に、HTTRACKがあります。これには、多くの調整が必要であり、私がすり抜けることのできない制限(速度と接続の制限)があります。

Firefox用のDownThemAllは、コマンドラインアプリが必要ない場合に非常に優れています。

UPDATE

それ以来、pufがクラッシュする傾向があることがわかりました。最善の解決策は、新しい行にURLを含む.txtファイルを作成することです。

http://google.com/
http://yahoo.com/

Urls.txt(たとえば)を保存してから、コマンドを実行します:

cat urls.txt | xargs -n 1 -P 10 wget -q

-nは、ファイルから各行を選択することを指定します

-pは、並行してダウンロードするURLの数を指定します。

1
Kohjah Breese

CLIが必要な場合は、Aria2がこれに最適なソリューションです。 Aria2は、複数の接続、複数のスレッド、および複数のソースをサポートしています。

Aria2のもう1つの利点は、uGetのプラグインとして機能するため、Aria2のパワーを使いやすいGUIで使用できることです。

Aria2-CLI- http://aria2.sourceforge.net/

  • デフォルトでは、Aria2は5つの接続を行いますが、「-j」パラメーターで調整できます。
  • aria2c -j 10 http://url.com/path/to/file.ext

uGet-GUI- http://ugetdm.com

  • 複数の接続は、ダウンロードを追加するときにGUIで調整できます。

更新:OPのバッチのニーズに基づいて

uGet は、.txt、.html、クリップボードなどのメソッドを介したバッチダウンロードをサポートしています。確かにCLIではありませんが、問題をかなりうまく解決できると思います。さまざまな方法を説明するために ビデオチュートリアル を作成しました。GUIはこの記録以降変更されましたが、機能は引き続き関連しています。

6
Michael Tunnell