मुझे केवल puf (समानांतर URL फ़िशर) मिला है, लेकिन मैं इसे किसी फ़ाइल से यूआरएल पढ़ने के लिए नहीं मिला; कुछ इस तरह
puf < urls.txt
काम भी नहीं करता है।
सर्वर पर स्थापित ऑपरेटिंग सिस्टम उबंटू है।
मुझे केवल puf (समानांतर URL फ़िशर) मिला है, लेकिन मैं इसे किसी फ़ाइल से यूआरएल पढ़ने के लिए नहीं मिला; कुछ इस तरह
puf < urls.txt
काम भी नहीं करता है।
सर्वर पर स्थापित ऑपरेटिंग सिस्टम उबंटू है।
जवाबों:
GNU समानांतर का उपयोग ,
$ समानांतर -j $ {नौकरियां} wget <urls.txt
या xargs
से जीएनयू Findutils ,
$ xargs -n 1 -P $ {jobs} wget <urls.txt
जहाँ आप ${jobs}
अधिकतम संख्या को wget
समवर्ती रूप से चलाने की अनुमति देना चाहते हैं ( प्रति पंक्ति एक मंगलाचरण प्राप्त -n
करने के 1
लिए सेटिंग )। बिना / के , CPU कोर के रूप में एक समय में कई नौकरियों के रूप में चलेगा (जो कि आवश्यक रूप से नेटवर्क IO द्वारा बाध्य होने का कोई मतलब नहीं है ), और एक समय में एक चलेगा।wget
urls.txt
-j
-P
parallel
wget
xargs
एक अच्छी विशेषता जो parallel
खत्म हो गई xargs
है, वह समवर्ती रूप से चलने वाली नौकरियों के आउटपुट को अलग कर रही है, लेकिन अगर आप इस बारे में परवाह नहीं करते हैं, xargs
तो पूर्व-स्थापित होने की अधिक संभावना है।
jobs
कई कारकों पर निर्भर करता है: पथ विलंबता, पथ बैंडविड्थ, दूरस्थ सर्वर नीतियां, आदि
aria2 यह करता है।
http://sourceforge.net/apps/trac/aria2/wiki/UsageExample#Downloadfileslistedinafileconcurrently
उदाहरण: aria2c http://example.org/mylinux.iso
आप पायथन और पाइक्लुर लाइब्रेरी का उपयोग करके इसे लागू कर सकते हैं। Pycurl लाइब्रेरी में "मल्टी" इंटरफ़ेस है जो अपने स्वयं के लूप को लागू करता है जो एक साथ कई कनेक्शन सक्षम करता है।
हालाँकि इंटरफ़ेस सी-लाइक है और इसलिए अन्य, अधिक "पायथोनिक", कोड की तुलना में थोड़ा बोझिल है।
मैंने इसके लिए एक रैपर लिखा जो इसके शीर्ष पर एक अधिक पूर्ण ब्राउज़र-जैसे क्लाइंट बनाता है। आप एक उदाहरण के रूप में उपयोग कर सकते हैं। Pycopia.WWWclient मॉड्यूल देखें । HTTPConnectionManager मल्टी इंटरफ़ेस को लपेटता है।
जीएनयू समानांतर के मैन पेज के हिस्से में समानांतर पुनरावर्ती wget का उदाहरण है।
https://www.gnu.org/software/parallel/man.html#EXAMPLE:-Breadth-first-parallel-web-crawler-mirrorer
HTML दो बार डाउनलोड की जाती है: एक बार लिंक निकालने के लिए और एक बार डिस्क पर डाउनलोड करने के लिए। अन्य सामग्री केवल एक बार डाउनलोड की जाती है।
यदि आपको पुनरावृत्ति की आवश्यकता नहीं है, तो अभिक्षमता का उत्तर स्पष्ट प्रतीत होता है।
आपके पैरेलल डाउनलोड के पीड़ितों को खुश नहीं किया जाएगा: वे प्रत्येक ग्राहक की सेवा के लिए एक कनेक्शन की उम्मीद करते हैं, कई कनेक्शन स्थापित करने का मतलब है कुल ग्राहकों का कम होना। (यानी, यह अशिष्ट व्यवहार माना जाता है)।