मैं URL से सभी छवियों को एक फ़ोल्डर में डाउनलोड करने के लिए Wget का उपयोग कैसे करूं?


133

मैं एक वेबसाइट से सभी छवियों को डाउनलोड करने के लिए wget का उपयोग कर रहा हूं और यह ठीक काम करता है लेकिन यह साइट के मूल पदानुक्रम को सभी सबफ़ोल्डर्स के साथ संग्रहीत करता है और इसलिए छवियां आसपास बिंदीदार होती हैं। वहाँ एक रास्ता है ताकि यह सिर्फ एक फ़ोल्डर में सभी छवियों को डाउनलोड करेगा? फिलहाल मैं जिस वाक्य रचना का उपयोग कर रहा हूं वह है:

wget -r -A jpeg,jpg,bmp,gif,png http://www.somedomain.com

जवाबों:


194

इसे इस्तेमाल करे:

wget -nd -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.somedomain.com

यहाँ कुछ और जानकारी है:

-ndएक निर्देशिका पदानुक्रम (यानी कोई निर्देशिका नहीं ) के निर्माण को रोकता है ।

-rपुनरावर्ती सक्षम बनाता है। अधिक जानकारी के लिए पुनरावर्ती डाउनलोड देखें ।

-P डायरेक्टरी उपसर्ग को सेट करता है जहाँ सभी फाइल्स और डायरेक्टरीज़ को सेव किया जाता है।

-Aकेवल कुछ फ़ाइल प्रकारों को पुनर्प्राप्त करने के लिए एक श्वेतसूची सेट करता है। स्ट्रिंग्स और पैटर्न स्वीकार किए जाते हैं, और दोनों का उपयोग अल्पविराम से अलग की गई सूची में किया जा सकता है (जैसा कि ऊपर देखा गया है)। अधिक जानकारी के लिए फ़ाइलों के प्रकार देखें ।


5
यह वास्तव में मेरे लिए काम नहीं किया। मेरा स्थान सहेजें "" था। और इसने पूरी साइट पदानुक्रम की नकल की।
ब्यूटेल बटुक

2
@ButtleButkus ऐसा लगता है कि आपको स्वीकार -Aविकल्प के साथ कुछ अधिक गड़बड़ करने की आवश्यकता है , फ़ाइलों के प्रकारों के बारे में Wget प्रलेखन देखें । साथ ही, यदि आप वर्तमान निर्देशिका में डाउनलोड कर रहे हैं, तो आप निर्देशिका उपसर्ग -Pविकल्प को हटा सकते हैं । यदि आप किसी एकल फ़ाइल प्रकार को डाउनलोड कर रहे हैं, जैसे कि केवल jpg का, तो कुछ का उपयोग करें wget -r -A.jpg http://www.domain.com। Wget प्रलेखन प्रदान करता है कि उन्नत उदाहरणों को देखो ।
जॉन

-nd ऊपर जोड़ने से यह काम करता है। आप कई-ए झंडे भी निर्दिष्ट कर सकते हैं जैसे कि-A "*foo*" -A "*bar*"
यबलारगो

1
का उपयोग करने के लिए मत भूलना --level=infया --level=9999999999क्योंकि wgetडिफ़ॉल्ट अधिकतम पुनरावृत्ति गहराई स्तर के कारण नौकरी में तोड़फोड़ की संभावना है 5
user619271

127
wget -nd -r -l 2 -A jpg,jpeg,png,gif http://t.co
  • -nd: कोई निर्देशिका नहीं (वर्तमान निर्देशिका में सभी फ़ाइलें सहेजें; -P directoryलक्ष्य निर्देशिका को बदल देता है)
  • -r -l 2: पुनरावर्ती स्तर 2
  • -A: स्वीकृत एक्सटेंशन
wget -nd -H -p -A jpg,jpeg,png,gif -e robots=off example.tumblr.com/page/{1..2}
  • -Hस्पैन मेजबानों (डिफ़ॉल्ट रूप से विभिन्न डोमेन या उप-डोमेन से फ़ाइलें डाउनलोड नहीं करता है)
  • -p: पृष्ठ अपेक्षित (प्रत्येक पृष्ठ पर चित्र जैसे संसाधन शामिल हैं)
  • -e robots=off: कमांड निष्पादित करें robotos=offजैसे कि यह .wgetrcफ़ाइल का हिस्सा था । यह रोबोट बहिष्करण को बंद कर देता है जिसका अर्थ है कि आप robots.txt और रोबोट मेटा टैग को अनदेखा करते हैं (आपको पता होना चाहिए कि इसके साथ आने वाले निहितार्थ हैं, ध्यान रखें)।

उदाहरण: .jpgएक अनुकरणीय निर्देशिका सूची से सभी फाइलें प्राप्त करें :

$ wget -nd -r -l 1 -A jpg http://example.com/listing/

13

मैंने एक शेलस्क्रिप्ट लिखी है जो कई वेबसाइटों के लिए इस समस्या को हल करती है: https://github.com/eduardschaeli/wget-image-scraper

(विगेट्स के साथ url की सूची से छवियों को स्क्रैप करता है)


बढ़िया काम किया। धन्यवाद
जारेड मार्टिन

9

इसको आजमाओ:

wget -nd -r -P /save/location/ -A jpeg,jpg,bmp,gif,png http://www.domain.com

और प्रतीक्षा करें जब तक यह सभी अतिरिक्त जानकारी को हटा नहीं देता


यह मेरे लिए काम नहीं कर रहा है। wget -nd -r -P /Users/duraiamuthan/Downloads/images/ -A jpeg,jpg,bmp,gif,png http://www.forbes.com/profile/mark-zuckerberg/
विवो

5

मैन पेज के अनुसार -पी झंडा है:

-प्राण उपसर्ग - परोक्ष-उपसर्ग = उपसर्ग उपसर्ग निर्देशिका उपसर्ग उपसर्ग। निर्देशिका उपसर्ग वह निर्देशिका है जहां अन्य सभी फाइलें और उपनिर्देशिकाएं पुनर्प्राप्ति पेड़ के ऊपर, यानी के लिए सहेजी जाएंगी। डिफ़ॉल्ट है (वर्तमान निर्देशिका)।

इसका मतलब यह है कि यह केवल गंतव्य को निर्दिष्ट करता है लेकिन निर्देशिका पेड़ को बचाने के लिए कहां है। यह पेड़ को सिर्फ एक निर्देशिका में समतल नहीं करता है । जैसा कि पहले उल्लेख किया गया है और -nd ध्वज वास्तव में ऐसा करता है।

@ भविष्य में यह वर्णन करना फायदेमंद होगा कि झंडा क्या करता है इसलिए हम समझते हैं कि कुछ कैसे काम करता है।


2

प्रस्तावित समाधान छवियों को डाउनलोड करने के लिए एकदम सही हैं और यदि आपके द्वारा उपयोग की जा रही निर्देशिका में सभी फ़ाइलों को सहेजने के लिए यह पर्याप्त है। लेकिन अगर आप साइट के पूरे पदानुक्रमित पेड़ को पुन: प्रस्तुत किए बिना एक निर्दिष्ट निर्देशिका में सभी छवियों को सहेजना चाहते हैं, तो जॉन द्वारा प्रस्तावित लाइन में "कट-डायर" जोड़ने का प्रयास करें।

wget -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.boia.de --cut-dirs=1 --cut-dirs=2 --cut-dirs=3

इस मामले में कट-डायर, वेबसाइट-पदानुक्रमित पेड़ में गहराई के 3 वें स्तर तक उप-निर्देशिका बनाने से छूट को रोक देगा, आपके द्वारा निर्दिष्ट निर्देशिका में सभी फाइलों को सहेजना होगा। यदि आप उच्च संख्या के साथ अधिक 'कट-डायर' जोड़ सकते हैं यदि आप एक गहरी संरचना के साथ साइटों के साथ काम कर रहे हैं।


-7

wget यूटिलिटी HTTP, HTTPS और FTP जैसे व्यापक रूप से उपयोग किए जाने वाले प्रोटोकॉल का उपयोग करके वर्ल्ड वाइड वेब (WWW) से फाइलें पुनर्प्राप्त करता है। Wget उपयोगिता स्वतंत्र रूप से उपलब्ध पैकेज है और लाइसेंस GNU GPL लाइसेंस के अंतर्गत है। यह उपयोगिता विंडोज और मैक ओएस सहित किसी भी यूनिक्स जैसे ऑपरेटिंग सिस्टम को स्थापित कर सकती है। यह एक गैर-संवादात्मक कमांड लाइन उपकरण है। Wget की मुख्य विशेषता यह मजबूती है। इसे इस तरह से डिज़ाइन किया गया है ताकि यह धीमे या अस्थिर नेटवर्क कनेक्शन में काम करे। नेटवर्क समस्या के मामले में जहां यह छोड़ दिया गया था, स्वचालित रूप से डाउनलोड शुरू कर दें। फ़ाइल को पुनरावर्ती रूप से भी डाउनलोड करें। यह तब तक कोशिश करता रहेगा जब तक फ़ाइल पूरी तरह से पुनर्प्राप्त नहीं हो जाती।

Linux मशीन sudo apt-get install wget में wget स्थापित करें

एक फ़ोल्डर बनाएँ जहाँ आप फ़ाइलों को डाउनलोड करना चाहते हैं। सुदो मुक्दिर मइमगेस सीड मायमिसेज

वेबपेज पर राइट क्लिक करें और उदाहरण के लिए यदि आप इमेज लोकेशन चाहते हैं तो इमेज पर राइट क्लिक करें और इमेज लोकेशन कॉपी करें। यदि कई छवियां हैं, तो नीचे का अनुसरण करें:

अगर एक बार में सभी वेब से डाउनलोड करने के लिए 20 चित्र हैं, तो रेंज 0 से 19 तक शुरू होती है।

wget http://joindiaspora.com/img {0..19} .jpg


2
आपका उत्तर बताता है कि wget क्या है और क्रमिक रूप से गिने चित्रों को डाउनलोड करने के लिए इसका उपयोग कैसे करें ... न तो मूल प्रश्न से संबंधित हैं।
एलेस्टेयर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.