किसी पृष्ठ में .zip फ़ाइलों के एक सेट के लिंक होते हैं, जिनमें से सभी मैं डाउनलोड करना चाहता हूं। मुझे पता है कि यह विग और कर्ल द्वारा किया जा सकता है। यह कैसे किया जाता है?
जवाबों:
आदेश है:
wget -r -np -l 1 -A zip http://example.com/download/
विकल्प का अर्थ:
-r, --recursive specify recursive download.
-np, --no-parent don't ascend to the parent directory.
-l, --level=NUMBER maximum recursion depth (inf or 0 for infinite).
-A, --accept=LIST comma-separated list of accepted extensions.
-np
। यदि वे एक अलग मेजबान पर हैं, तो आपको आवश्यकता होगी --span-host
।
उपरोक्त समाधान मेरे लिए काम नहीं करता है। मेरे लिए यह केवल एक ही काम करता है:
wget -r -l1 -H -t1 -nd -N -np -A.mp3 -erobots=off [url of website]
विकल्प का अर्थ:
-r recursive
-l1 maximum recursion depth (1=use only this directory)
-H span hosts (visit other hosts in the recursion)
-t1 Number of retries
-nd Don't make new directories, put downloaded files in this one
-N turn on timestamping
-A.mp3 download only mp3s
-erobots=off execute "robots.off" as if it were a part of .wgetrc
-H
स्विच के लिए +1 । यह वह है जो पहले उत्तर (जो मैंने एसओ को देखने से पहले कोशिश की थी) को काम करने से रोक रहा था।
कुछ समानांतर जादू के साथ अन्य परिदृश्यों के लिए मैं उपयोग करता हूं:
curl [url] | grep -i [filending] | sed -n 's/.*href="\([^"]*\).*/\1/p' | parallel -N5 wget -
-nd
आप किसी भी अतिरिक्त निर्देशिका बनाया (यानी, सभी फाइलों को रूट फ़ोल्डर में हो जाएगा) नहीं करना चाहते हैं (कोई निर्देशिका) झंडा काम है।