अगले लेख में हम Wget पर एक नज़र डालने जा रहे हैं। यह कहा जाना चाहिए कि GNU Wget एक है फ्री टूल जो वेब सर्वर से सामग्री को डाउनलोड करने की अनुमति देता है एक सरल और तेज तरीके से। इसका नाम वर्ल्ड वाइड वेब से लिया गया है (w) और शब्द मिलता है (अंग्रेजी में मिल) का है। इस नाम का अर्थ है: WWW से प्राप्त करें.
आज फ़ाइलों को बहुत कुशलता से डाउनलोड करने के लिए दर्जनों एप्लिकेशन हैं। उनमें से ज्यादातर वेब और डेस्कटॉप इंटरफेस पर आधारित हैं, और सभी ऑपरेटिंग सिस्टम के लिए विकसित किए गए हैं। हालाँकि Gnu / Linux पर (विंडोज के लिए एक संस्करण भी है) वहाँ है शक्तिशाली डाउनलोड प्रबंधक wget फ़ाइलों की। इसे सबसे शक्तिशाली डाउनलोडर माना जाता है। Http, https और जैसे प्रोटोकॉल का समर्थन करता है FTP.
डाउनलोड फ़ाइलें wget के साथ
एक फ़ाइल डाउनलोड करें
इस उपकरण का उपयोग करने का सबसे सरल तरीका डाउनलोड करना है फ़ाइल का संकेत हमें क्या चाहिऐ:
wget http://sitioweb.com/programa.tar.gz
विभिन्न प्रोटोकॉल का उपयोग कर डाउनलोड करें
एक अच्छे डाउनलोड प्रबंधक के रूप में, यह संभव है एक बार में एक से अधिक डाउनलोड करने का अनुरोध करें। हम भी एक ही क्रम में विभिन्न प्रोटोकॉल का उपयोग कर सकते हैं:
wget http://sitioweb.com/programa.tar.gz ftp://otrositio.com/descargas/videos/archivo-video.mpg
एक्सटेंशन द्वारा डाउनलोड करें
एकाधिक डाउनलोड करने का दूसरा तरीका फ़ाइलें जो समान एक्सटेंशन का उपयोग करती हैं, यह वाइल्डकार्ड तारांकन का उपयोग करेगा:
wget<code class="language-bash" data-lang="bash">-r -A.pdf</code>http://sitioweb.com/*.pdf
यह कमांड हमेशा काम नहीं करता है, क्योंकि कुछ सर्वर ने एक्सेस को ब्लॉक कर दिया होगा wget.
एक फ़ाइल लिस्टिंग डाउनलोड करें
अगर हम चाहते हैं कि जो फाइलें हमें मिल रही हैं, उन्हें डाउनलोड करना है, तो हमें केवल उन्हें सहेजना होगा एक फ़ाइल में URL। हम एक सूची बनाएंगे जिसका नाम है files.txt और हम सूची का नाम कमांड को इंगित करेंगे। ज़रूरी प्रति पंक्ति केवल एक url रखें files.txt के अंदर।
कमांड जिसे हम बनाई गई सूची को डाउनलोड करने के लिए उपयोग करेंगे और जिसे हम फाइलों में सहेजते हैं।
wget -i archivos.txt
एक डाउनलोड को पुनरारंभ करें
यदि किसी भी कारण से डाउनलोड बाधित हुआ, तो हम कर पाएंगे डाउनलोड को जारी रखें जहां से इसे छोड़ा गया है का उपयोग करते हुए विकल्प सी wget कमांड के साथ:
wget -i -c archivos.txt
डाउनलोड के बारे में एक लॉग जोड़ें
यदि हम डाउनलोड के बारे में एक लॉग प्राप्त करना चाहते हैं, तो क्रम में किसी भी घटना को नियंत्रित करें उस पर, हमें जोड़ना होगा -ओ विकल्प जैसा कि यह निम्नलिखित में दिखाया गया है:
wget -o reporte.txt http://ejemplo.com/programa.tar.gz
डाउनलोड बैंडविड्थ को सीमित करें
बहुत लंबे डाउनलोड में हम कर सकते हैं सीमा डाउनलोड बैंडविड्थ। इससे हम डाउनलोड को डाउनलोड की अवधि के लिए सभी बैंडविड्थ लेने से रोकेंगे:
wget -o /reporte.log --limit-rate=50k ftp://ftp.centos.org/download/centos5-dvd.iso
उपयोगकर्ता नाम और पासवर्ड के साथ डाउनलोड करें
यदि हम एक ऐसी साइट से डाउनलोड करना चाहते हैं, जहां उपयोगकर्ता नाम / पासवर्ड की आवश्यकता है, तो हमें केवल इन विकल्पों का उपयोग करना होगा:
wget --http-user=admin --http-password=12345 http://ejemplo.com/archivo.mp3
प्रयास डाउनलोड करें
चूक, यह प्रोग्राम कनेक्शन स्थापित करने के लिए 20 प्रयास करता है और डाउनलोड शुरू करें, बहुत संतृप्त साइटों में यह संभव है कि 20 प्रयासों के साथ भी इसे हासिल नहीं किया गया था। उसके साथ विकल्प टी अधिक प्रयासों के लिए बढ़ जाती है।
wget -t 50 http://ejemplo.com/pelicula.mpg
Wget वाली वेबसाइट डाउनलोड करें
Wget केवल फ़ाइल डाउनलोड तक सीमित नहीं हैहम एक पूर्ण पृष्ठ डाउनलोड करने में सक्षम होंगे। हमें बस कुछ लिखना होगा:
wget www.ejemplo.com
एक वेबसाइट और उसके अतिरिक्त तत्वों को डाउनलोड करें
साथ विकल्प पी हम सभी डाउनलोड भी करेंगे पृष्ठ पर आवश्यक अतिरिक्त तत्व जैसे स्टाइल शीट, इनलाइन इमेज इत्यादि।
अगर हम जोड़ते हैं विकल्प आर se 5 स्तरों तक पुनरावर्ती डाउनलोड करेगा साइट से:
wget -r www.ejemplo.com -o reporte.log
लिंक को स्थानीय में बदलें
डिफ़ॉल्ट रूप से, साइट के भीतर के लिंक पूरे डोमेन के पते की ओर इशारा करते हैं। यदि हम साइट को पुन: डाउनलोड करते हैं और फिर उसका ऑफ़लाइन अध्ययन करते हैं, तो हम इसका उपयोग कर सकते हैं कन्वर्ट-लिंक विकल्प जो उन्हें बदल देगा स्थानीय लिंक:
wget --convert-links -r http://www.sitio.com/
साइट की पूरी प्रति प्राप्त करें
हमें किसी साइट की पूरी प्रतिलिपि प्राप्त करने की संभावना होगी। -मिरर विकल्प का उपयोग करने के रूप में ही है विकल्प -r -l inf -N जो अनंत स्तर पर पुनरावृत्ति को इंगित करता है और प्रत्येक डाउनलोड की गई फ़ाइल का मूल टाइमस्टैम्प प्राप्त करता है।
wget --mirror http://www.sitio.com/
एक्सटेंशन बदलें
यदि आप इसे देखने के लिए पूरी साइट को ऑफ़लाइन देखते हैं, तो कई डाउनलोड की गई फ़ाइलें नहीं खुल सकती हैं, जैसे कि .cgi, .asp, या .php जैसे एक्सटेंशन के कारण। तब यह इंगित करना संभव है -एचटीएमएल-एक्सटेंशन का विकल्प सभी फाइलें .html एक्सटेंशन में बदल जाती हैं।
wget --mirror --convert-links --html-extension http://www.ejemplo.com
ये केवल सामान्य दिशानिर्देश हैं आप Wget के साथ कर सकते हैं। कौन परामर्श दे सकता है ऑनलाइन मैनुअल सभी संभावनाओं से परामर्श करने के लिए कि यह अद्भुत डाउनलोड प्रबंधक हमें प्रदान करता है।
"एक्सटेंशन द्वारा डाउनलोड करें" के रूप में मैंने पढ़ना बंद कर दिया है। आप वह नहीं डाउनलोड कर सकते जो आप नहीं जानते। जब तक अनुरोधित निर्देशिका फ़ाइलों की लिस्टिंग की अनुमति नहीं देती है और एक सूचकांक का अभाव होता है (और दोनों को एक ही समय में होना चाहिए), जो आप कहते हैं वह नहीं किया जा सकता है। क्या एक स्तर है।
हैलो रूबन, अज्ञानता थोड़ा साहसी है।
आप जो टिप्पणी करते हैं वह Google को एक साधारण कमांड से किया जा सकता है:
फ़ाइल प्रकार:पीडीएफ साइट:ubunlog.com
इस उदाहरण में इस ब्लॉग में कोई पीडीएफ़ नहीं है, लेकिन अपने द्वारा पसंद की गई वेब के अंत में डोमेन को बदल दें और आप देखेंगे कि वेब के एक प्रकार की सभी फ़ाइलों को देखना कितना आसान है।
आपका दिन शुभ हो।
लेकिन w url में मौजूद pdfs को खोजने के लिए google से कनेक्ट नहीं होता है। वेब निर्देशिका खुली होनी चाहिए और एक सूचकांक पृष्ठ होना चाहिए जो mod_autoindex या इसी तरह का हो, जैसा कि Rubén Cardenal का कहना है।
"यह कमांड हमेशा काम नहीं करता है, क्योंकि कुछ सर्वर ने wget तक पहुंच अवरुद्ध कर दी होगी।"
यह संशोधन जो इस लेख पर रखा गया था, क्योंकि मैं इससे सहमत नहीं हूं (हालांकि तकनीकी रूप से http हेडर अनुरोधों के लिए कुछ वेब एजेंटों को ब्लॉक करना संभव है और एक 403 "अनुमति नहीं" संदेश लौटाता है) और मैं समझाऊंगा क्यों:
डिफ़ॉल्ट रूप से सभी अपाचे वेब सर्वर (और मैं काफी प्रतिशत सर्वर के बारे में बात कर रहा हूं) ग्लोबिंग (उत्कृष्ट विकिपीडिया लेख, पढ़ें: https://es.wikipedia.org/wiki/Glob_(inform%C3%A1tica) .
यह व्यवहार में है, जैसा कि श्री द्वारा निर्दिष्ट किया गया है। रुबेन (और वह सही है), अगर वहाँ कोई फ़ाइल नहीं है "index.php" या "index.html" (या यहां तक कि "इंडेक्स" भी कहा जाता है) तो सर्वर चुपचाप फ़ाइलों और निर्देशिकाओं की एक सूची वापस कर देगा (निश्चित रूप से) प्रत्येक पृष्ठ के लिए एक वेब लिंक के रूप में जानकारी के साथ एक HTML पृष्ठ)। सबसे वेब सर्वरों को सुरक्षा की आवश्यकता के लिए इस अवधि।
यहाँ विकट की बहुमुखी प्रतिभा है (इसकी कहानी देखें, विकिपीडिया पर फिर से, जिसे आप सबसे अधिक जानते हैं: https://es.wikipedia.org/wiki/GNU_Wget ) विश्लेषण या "पार्सिंग" ने कहा कि जानकारी और केवल उन एक्सटेंशनों को निकालें जिन्हें हम पूछते हैं।
अब, इस घटना में कि यह काम नहीं करता है, एक कारण या किसी अन्य के लिए, हम अन्य उन्नत काम कर सकते हैं, मैं सीधे अंग्रेजी में बोली:
आप HTTP सर्वर पर निर्देशिका से सभी GIF डाउनलोड करना चाहते हैं। आपने 'कोशिश' की http://www.example.com/dir/*.gif’, लेकिन यह काम नहीं किया क्योंकि HTTP पुनर्प्राप्ति GLOBBING का समर्थन नहीं करता है (मैंने बड़े अक्षरों को रखा)। उस स्थिति में, उपयोग करें:
wget -r -l1 –कोई-अभिभावक -A.gif http://www.example.com/dir/
अधिक क्रिया, लेकिन प्रभाव समान है। '-r -l1' का अर्थ होता है पुनः प्राप्त करना (पुनरावर्ती डाउनलोड देखें), जिसकी अधिकतम गहराई 1. 'है-माता-पिता' का अर्थ है कि मूल निर्देशिका के संदर्भों को अनदेखा किया जाता है (निर्देशिका-आधारित सीमाएँ देखें), और '-ए। gif 'का अर्थ केवल GIF फ़ाइलों को डाउनलोड करना है। '-एक «* .गिफ़»' में भी काम किया होता।
यदि आप इस दिन में चले जाते हैं, तो हमारे लिए डिफ़ॉल्ट फ़ोल्डर में हम अनुरोधित वेब पते के साथ एक फ़ोल्डर बनाएंगे, जहाँ हम काम कर रहे हैं, और यदि आवश्यक हो तो यह उपनिर्देशिकाएँ बनाएगा और वहाँ पर, उदाहरण के लिए, .gif चित्र हम डाउनलोड करेंगे। निवेदन।
--------
अगर यह अभी भी केवल कुछ प्रकार की फ़ाइलों (* .jpg, उदाहरण के लिए) को प्राप्त करना संभव नहीं है, तो हमें एक पैरामीटर «-पेज-आवश्यक» का उपयोग करना होगा, जो एक html पृष्ठ के सभी आंतरिक तत्वों (छवियों, ध्वनियों) को डाउनलोड करता है सीएसएस, आदि) html पृष्ठ के साथ ही ("-पृष्ठ-अपेक्षित" संक्षिप्त रूप में "-p") हो सकता है और यह "mhtml" की तरह कुछ डाउनलोड करने के बराबर होगा https://tools.ietf.org/html/rfc2557
मुझे आशा है कि यह जानकारी आपके लिए उपयोगी है।
नोट्स के लिए धन्यवाद। सलू 2।
मुझे लगता है कि आपके पास एक त्रुटि है, पहले दो पंक्तियों में एक ही कमांड है।
बहुत बहुत धन्यवाद, बहुत अच्छा ट्यूटोरियल!