वेब पेजेस और फ़ाइलों को डाउनलोड करने के लिए wget लिनक्स कमांड का उपयोग कैसे करें

Wget उपयोगिता आपको लिनक्स कमांड लाइन का उपयोग कर वेब से वेब पेज, फाइलें और छवियां डाउनलोड करने की अनुमति देती है।

आप किसी साइट से डाउनलोड करने के लिए अपने आप पर एक एकल wget कमांड का उपयोग कर सकते हैं या एकाधिक साइटों में एकाधिक फ़ाइलों को डाउनलोड करने के लिए इनपुट फ़ाइल सेट अप कर सकते हैं।

मैन्युअल पेज के अनुसार wget का उपयोग तब भी किया जा सकता है जब उपयोगकर्ता सिस्टम से लॉग आउट हो। ऐसा करने के लिए आप nohup कमांड का उपयोग करेंगे।

जब कनेक्शन बंद हो जाता है तब भी wget उपयोगिता एक डाउनलोड फिर से शुरू कर देगी, कनेक्शन से रिटर्न होने पर संभव होने पर इसे छोड़ दिया जाता है।

आप wget का उपयोग कर पूरी वेब साइट डाउनलोड कर सकते हैं और लिंक को स्थानीय स्रोतों पर इंगित करने के लिए कनवर्ट कर सकते हैं ताकि आप वेबसाइट को ऑफ़लाइन देख सकें।

Wget की विशेषताएं निम्नानुसार हैं:

Wget का उपयोग कर एक वेबसाइट कैसे डाउनलोड करें

इस गाइड के लिए, मैं आपको दिखाऊंगा कि मेरा व्यक्तिगत ब्लॉग कैसे डाउनलोड करें।

www.everydaylinuxuser.com wget

Mkdir कमांड का उपयोग करके और फिर cd कमांड का उपयोग कर फ़ोल्डर में स्थानांतरित करने के लिए अपनी मशीन पर अपना स्वयं का फ़ोल्डर बनाना उचित है।

उदाहरण के लिए:

mkdir everydaylinuxuser
सीडी रोज़लिनलिनक्स्यूसर
www.everydaylinuxuser.com wget

नतीजा एक एकल index.html फ़ाइल है। अपने आप पर, यह फ़ाइल काफी बेकार है क्योंकि सामग्री अभी भी Google से खींची गई है और छवियों और स्टाइलशीट अभी भी Google पर हैं।

पूर्ण साइट और सभी पृष्ठों को डाउनलोड करने के लिए आप निम्न आदेश का उपयोग कर सकते हैं:

wget -r www.everydaylinuxuser.com

यह पृष्ठों को अधिकतम 5 स्तरों तक गहराई से डाउनलोड करता है।

5 स्तर गहरे साइट से सब कुछ पाने के लिए पर्याप्त नहीं हो सकता है। आप निम्न स्तरों की संख्या निर्धारित करने के लिए -l स्विच का उपयोग कर सकते हैं:

wget -r -l10 www.everydaylinuxuser.com

यदि आप अनंत रिकर्सन चाहते हैं तो आप निम्न का उपयोग कर सकते हैं:

wget -r -l inf www.everydaylinuxuser.com

आप inf के साथ 0 को प्रतिस्थापित भी कर सकते हैं जिसका अर्थ एक ही चीज़ है।

अभी भी एक और समस्या है। आपको स्थानीय रूप से सभी पृष्ठ मिल सकते हैं लेकिन पृष्ठों में सभी लिंक अभी भी उनके मूल स्थान पर इंगित करते हैं। इसलिए पृष्ठों पर लिंक के बीच स्थानीय रूप से क्लिक करना संभव नहीं है।

आप -के स्विच का उपयोग कर इस समस्या को हल कर सकते हैं जो पृष्ठों पर सभी लिंक को उनके स्थानीय रूप से डाउनलोड समकक्ष को इंगित करने के लिए निम्नानुसार परिवर्तित करता है:

wget -r -k www.everydaylinuxuser.com

यदि आप किसी वेबसाइट का पूर्ण दर्पण प्राप्त करना चाहते हैं तो आप बस निम्न स्विच का उपयोग कर सकते हैं जो -r -k और -l स्विच का उपयोग करने की आवश्यकता को दूर करता है।

wget -m www.everydaylinuxuser.com

इसलिए यदि आपकी अपनी वेबसाइट है तो आप इस सरल आदेश का उपयोग कर पूर्ण बैकअप बना सकते हैं।

एक पृष्ठभूमि कमांड के रूप में wget भागो

आप फ़ाइलों को डाउनलोड करते समय टर्मिनल विंडो में अपने काम के साथ आगे बढ़ने में सक्षम होने के बावजूद पृष्ठभूमि कमांड के रूप में चलाने के लिए wget प्राप्त कर सकते हैं।

बस निम्न आदेश का प्रयोग करें:

wget -b www.everydaylinuxuser.com

आप निश्चित रूप से स्विच गठबंधन कर सकते हैं। साइट को प्रतिबिंबित करते समय पृष्ठभूमि में wget कमांड चलाने के लिए आप निम्न आदेश का उपयोग करेंगे:

wget -b -m www.everydaylinuxuser.com

आप इसे निम्नानुसार सरल बना सकते हैं:

wget -bm www.everydaylinuxuser.com

लॉगिंग

यदि आप पृष्ठभूमि में wget कमांड चला रहे हैं तो आपको स्क्रीन पर भेजे गए सामान्य संदेशों में से कोई भी दिखाई नहीं देगा।

आप उन सभी संदेशों को लॉग फ़ाइल में भेज सकते हैं ताकि आप पूंछ कमांड का उपयोग करके किसी भी समय प्रगति की जांच कर सकें।

Wget कमांड से लॉग फ़ाइल में जानकारी आउटपुट करने के लिए निम्न आदेश का उपयोग करें:

wget -o / path / to / mylogfile www.everydaylinuxuser.com

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

wget -q www.everydaylinuxuser.com

एकाधिक साइटों से डाउनलोड करें

आप कई अलग-अलग साइटों से डाउनलोड करने के लिए एक इनपुट फ़ाइल सेट अप कर सकते हैं।

अपने पसंदीदा संपादक या यहां तक ​​कि बिल्ली कमांड का उपयोग करके एक फ़ाइल खोलें और फ़ाइल की प्रत्येक पंक्ति से डाउनलोड करने के लिए साइट्स या लिंक सूचीबद्ध करना शुरू करें।

फ़ाइल को सहेजें और फिर निम्न wget कमांड चलाएं:

wget -i / path / to / inputfile

अपनी वेबसाइट का बैक अप लेने के अलावा या शायद ट्रेन पर पढ़ने के लिए कुछ ढूंढने के अलावा, यह संभावना नहीं है कि आप एक पूरी वेबसाइट डाउनलोड करना चाहेंगे।

आप छवियों के साथ एक एकल यूआरएल डाउनलोड करने की संभावना रखते हैं या शायद ज़िप फ़ाइलों, आईएसओ फाइलों या छवि फ़ाइलों जैसे फाइलें डाउनलोड कर सकते हैं।

इस बात को ध्यान में रखते हुए आप इनपुट फ़ाइल में निम्न टाइप करना नहीं चाहते हैं क्योंकि यह समय लेने वाला है:

यदि आप जानते हैं कि आधार यूआरएल हमेशा एक जैसा होगा, तो आप केवल इनपुट फ़ाइल में निम्नलिखित निर्दिष्ट कर सकते हैं:

इसके बाद आप wget कमांड के हिस्से के रूप में आधार URL प्रदान कर सकते हैं:

wget -b http://www.myfileserver.com -i / path / to / inputfile

पुनः प्रयास विकल्प

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

आप निम्न स्विच का उपयोग कर रीट्रीज़ की संख्या निर्दिष्ट कर सकते हैं:

wget -t 10 -i / path / to / inputfile

आप उपरोक्त कमांड को -T स्विच के साथ संयोजन में उपयोग करना चाहेंगे जो आपको सेकंड में टाइमआउट निर्दिष्ट करने की अनुमति देता है:

wget -t 10 -T 10 -i / path / to / inputfile

उपरोक्त आदेश 10 बार पुनः प्रयास करेगा और फ़ाइल में प्रत्येक लिंक के लिए 10 सेकंड के लिए कनेक्ट करने का प्रयास करेगा।

जब आप ड्रॉप आउट होने के लिए केवल धीमे ब्रॉडबैंड कनेक्शन पर 4 गीगाबाइट फ़ाइल का 75% आंशिक रूप से डाउनलोड करते हैं तो यह भी काफी परेशान होता है।

आप निम्न आदेश का उपयोग करके डाउनलोड करना बंद कर दिया है से पुनः प्रयास करने के लिए wget का उपयोग कर सकते हैं:

wget -c www.myfileserver.com/file1.zip

यदि आप किसी सर्वर को हथियार दे रहे हैं तो मेजबान इसे बहुत पसंद नहीं कर सकता है और या तो आपके अनुरोधों को ब्लॉक या सिर्फ मार सकता है।

आप एक प्रतीक्षा अवधि निर्दिष्ट कर सकते हैं जो निर्दिष्ट करता है कि प्रत्येक पुनर्प्राप्ति के बीच कितना समय प्रतीक्षा करना है:

wget -w 60 -i / पथ / से / इनपुटफाइल

उपरोक्त आदेश प्रत्येक डाउनलोड के बीच 60 सेकंड इंतजार करेगा। यह उपयोगी है अगर आप एक ही स्रोत से कई फाइलें डाउनलोड कर रहे हैं।

कुछ वेब होस्ट आवृत्ति को खोज सकते हैं हालांकि वैसे भी आपको अवरुद्ध करेंगे। आप प्रतीक्षा अवधि को यादृच्छिक बना सकते हैं ताकि ऐसा लगता है कि आप प्रोग्राम का उपयोग नहीं कर रहे हैं:

wget --random-wait -i / path / to / inputfile

डाउनलोड सीमा की रक्षा

कई इंटरनेट सेवा प्रदाता अभी भी आपके ब्रॉडबैंड उपयोग के लिए डाउनलोड सीमा लागू करते हैं, खासकर यदि आप किसी शहर के बाहर रहते हैं।

आप एक कोटा जोड़ना चाहते हैं ताकि आप उस डाउनलोड सीमा को उड़ा न सकें। आप इसे निम्न तरीके से कर सकते हैं:

wget -q 100m -i / path / to / inputfile

ध्यान दें कि -q कमांड एक फ़ाइल के साथ काम नहीं करेगा।

इसलिए यदि आप फ़ाइल में 2 गीगाबाइट्स फ़ाइल डाउनलोड करते हैं, तो -q 1000m फ़ाइल डाउनलोडिंग को रोक नहीं पाएगा।

कोटा केवल तभी लागू होता है जब साइट से रिकर्सिवली डाउनलोड हो या इनपुट फ़ाइल का उपयोग किया जाए।

सुरक्षा के माध्यम से हो रही है

कुछ साइटों को आपको उस सामग्री तक पहुंचने में सक्षम होने के लिए लॉग इन करने की आवश्यकता होती है, जिसे आप डाउनलोड करना चाहते हैं।

आप उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करने के लिए निम्न स्विच का उपयोग कर सकते हैं।

wget --user = yourusername --password = yourpassword

एक बहु उपयोगकर्ता प्रणाली पर नोट अगर कोई ps कमांड चलाता है तो वे आपका उपयोगकर्ता नाम और पासवर्ड देख पाएंगे।

अन्य डाउनलोड विकल्प

डिफ़ॉल्ट रूप से -r स्विच सामग्री को पुन: डाउनलोड करेगा और निर्देशिका के रूप में इसे बनाएगा।

आप निम्न स्विच का उपयोग कर एक ही फ़ोल्डर में डाउनलोड करने के लिए सभी फाइलें प्राप्त कर सकते हैं:

wget -nd -r

इसके विपरीत निर्देशिकाओं के निर्माण को मजबूर करना है जो निम्न आदेश का उपयोग करके हासिल किया जा सकता है:

wget -x -r

कुछ फ़ाइल प्रकार कैसे डाउनलोड करें

यदि आप किसी साइट से रिकर्सिवली डाउनलोड करना चाहते हैं लेकिन आप केवल एक विशिष्ट फ़ाइल प्रकार जैसे एमपी 3 या एक पीएनजी जैसी छवि डाउनलोड करना चाहते हैं तो आप निम्न वाक्यविन्यास का उपयोग कर सकते हैं:

wget -A "* .mp3" -r

इसके विपरीत कुछ फ़ाइलों को अनदेखा करना है। शायद आप निष्पादन योग्य डाउनलोड नहीं करना चाहते हैं। इस मामले में, आप निम्न वाक्यविन्यास का उपयोग करेंगे:

wget -R "* .exe" -r

Cliget

एक फ़ायरफ़ॉक्स ऐड-ऑन क्लिगेट कहा जाता है। आप इसे निम्नलिखित तरीके से फ़ायरफ़ॉक्स में जोड़ सकते हैं।

Https://addons.mozilla.org/en-US/firefox/addon/cliget/ पर जाएं और "फ़ायरफ़ॉक्स में जोड़ें" बटन पर क्लिक करें।

दिखाई देने पर इंस्टॉल बटन पर क्लिक करें। आपको फ़ायरफ़ॉक्स को पुनरारंभ करना होगा।

क्लिगेट का उपयोग करने के लिए एक पेज या फ़ाइल पर जाएं जिसे आप डाउनलोड करना चाहते हैं और राइट क्लिक करें। एक संदर्भ मेनू क्लिगेट कहा जाएगा और "wget ​​को कॉपी करें" और "कर्ल पर प्रतिलिपि" के विकल्प होंगे।

"Wget to copy" विकल्प पर क्लिक करें और टर्मिनल विंडो खोलें और फिर राइट क्लिक करें और पेस्ट करें। उचित wget कमांड खिड़की में चिपकाया जाएगा।

असल में, यह आपको स्वयं को कमांड टाइप करने के लिए बचाता है।

सारांश

विकल्पों और स्विच की एक बड़ी संख्या के रूप में wget कमांड।

टर्मिनल विंडो में निम्नलिखित टाइप करके wget के लिए मैन्युअल पृष्ठ को पढ़ने के लायक है:

आदमी wget