Ben sadece puf (Paralel URL getirici) buldum ama bir dosyadan url okumak için alamadım; gibi bir şey
puf < urls.txt
de çalışmıyor.
Sunucuda kurulu işletim sistemi Ubuntu'dur.
Ben sadece puf (Paralel URL getirici) buldum ama bir dosyadan url okumak için alamadım; gibi bir şey
puf < urls.txt
de çalışmıyor.
Sunucuda kurulu işletim sistemi Ubuntu'dur.
Yanıtlar:
GNU Paralel'i kullanma ,
$ parallel -j $ {jobs} wget <urls.txt
ya da xargs
gelen GNU Findutils ,
$ xargs -n 1 -P $ {jobs} wget <urls.txt
nerede ${jobs}
maksimum sayısı olan wget
, aynı anda çalışmasına izin vermek istediğiniz (ayarı -n
için 1
bir tane alacak kadar wget
satıra çağırma içinde urls.txt
). -j
/ Olmadan -P
, parallel
aynı anda CPU çekirdeği kadar çok sayıda iş çalıştıracaktır (bu, wget
ağ G / Ç'si tarafından bağlanması zorunlu değildir ) ve xargs
birer birer çalışacaktır.
Güzel bir özellik parallel
üzerinde olan xargs
eş zamanlı çalışan işlerin çıkışını tutuyor ayrılmış, ancak bu konuda umursamazsak, xargs
önceden yüklenmiş olması daha olasıdır.
jobs
birçok faktöre bağlıdır: yol gecikmesi, yol bant genişliği, uzak sunucu politikaları, vb.
aria2 bunu yapar.
http://sourceforge.net/apps/trac/aria2/wiki/UsageExample#Downloadfileslistedinafileconcurrently
Örnek: aria2c http://example.org/mylinux.iso
Bunu Python ve pycurl kütüphanesini kullanarak uygulayabilirsiniz. Pycurl kütüphanesi, birden fazla eşzamanlı bağlantıya izin veren kendi çift döngüsünü uygulayan "çoklu" arayüze sahiptir.
Ancak arayüz oldukça C-benzeri ve bu nedenle diğer "Pythonic" koduna göre biraz hantal.
Bunun için daha eksiksiz bir tarayıcı benzeri istemci oluşturan bir sarmalayıcı yazdım. Bunu örnek olarak kullanabilirsiniz. Bkz. Pycopia.WWW.client modülü. HTTPConnectionManager çoklu arayüzü sarar.
GNU Parallel'in kılavuz sayfasının bir kısmı, paralel bir yinelemeli wget örneğini içerir.
https://www.gnu.org/software/parallel/man.html#EXAMPLE:-Breadth-first-parallel-web-crawler-mirrorer
HTML iki kez indirilir: Bir kez linkleri çıkarmak için ve bir kez diske indirmek için. Diğer içerik yalnızca bir kez indirilir.
Özyinelemeye ihtiyacınız yoksa ephemient'in cevabı açık görünüyor.
Paralell indirmenizin kurbanları eğlendirilmeyecek: her bir müşteriye bir bağlantının sunulmasını bekliyorlar, birkaç bağlantı kurmak genel olarak daha az istemci anlamına geliyor. (Yani, bu kaba davranış olarak kabul edilir).