मैं wget
प्रोग्राम का उपयोग कर रहा हूं , लेकिन मैं चाहता हूं कि मैं जिस एचटीएमएल फाइल को डाउनलोड कर रहा हूं उसे सेव न करें। मैं चाहता हूं कि इसे प्राप्त होने के बाद इसे छोड़ दिया जाए। मैं उसको कैसे करू?
मैं wget
प्रोग्राम का उपयोग कर रहा हूं , लेकिन मैं चाहता हूं कि मैं जिस एचटीएमएल फाइल को डाउनलोड कर रहा हूं उसे सेव न करें। मैं चाहता हूं कि इसे प्राप्त होने के बाद इसे छोड़ दिया जाए। मैं उसको कैसे करू?
जवाबों:
आप wget के आउटपुट को / dev / null (या विंडोज पर NUL) में पुनर्निर्देशित कर सकते हैं:
wget http://www.example.com -O /dev/null
फ़ाइल को डिस्क पर नहीं लिखा जाएगा, लेकिन इसे डाउनलोड किया जाएगा।
यदि आप फ़ाइल को सहेजना नहीं चाहते हैं, और आपने पृष्ठ को डाउनलोड करने के समाधान को स्वीकार कर लिया है /dev/null
, तो मुझे लगता है कि आप पृष्ठ सामग्री को प्राप्त करने और पार्स नहीं करने के लिए उपयोग कर रहे हैं ।
यदि आपकी वास्तविक आवश्यकता कुछ रिमोट एक्शन को ट्रिगर करने की है, तो जांच लें कि पृष्ठ मौजूद है और इसलिए मुझे लगता है कि html बॉडी पेज को डाउनलोड करने से बचना बेहतर होगा।
wget
विकल्पों की मदद से खेलें कि आपको वास्तव में क्या चाहिए, यानी http हेडर, रिक्वेस्ट स्टेटस, आदि।
यह मानते हुए कि आपको पृष्ठ की जाँच करने की आवश्यकता है ठीक है (यानी, लौटा हुआ स्थिति 200 है) आप निम्न कार्य कर सकते हैं:
wget --no-cache --spider http://your.server.tld/your/page.html
यदि आप सर्वर को वापस लौटना चाहते हैं तो हेडर निम्नलिखित कार्य करें:
wget --no-cache -S http://your.server.tld/your/page.html
आगे के विकल्पों के लिए wget मैन पेज देखें ।
इसे lynx
भी, एक विकल्प के रूप में देखें ।
--no-cache
मैन पेज में लिखा है कि यह रिमोट सर्विस से फाइल प्राप्त करने के लिए "रिमोट सर्वर को एक उपयुक्त निर्देश ('प्रज्ञा: नो-कैश') भेजने के लिए प्रेरित करता है"
$ wget http://www.somewebsite.com -O foo.html --delete-after
--delete-after
विकल्प विकल्प आप रिकर्सिवली डाउनलोड करने के लिए है, लेकिन आप वास्तविक सामग्री अभी नहीं करना चाहते है।
-O /dev/null
यदि आप भी कंसोल में प्रिंट करना चाहते हैं तो आप जो परिणाम कर सकते हैं:
wget -qO- http://www.example.com
q
शांत मोड हैं, (यह प्रगति और अन्य जानकारी का उत्पादन नहीं करता है), और O-
(कंसोल के लिए पुनर्प्राप्त दस्तावेज़ लिखें)।
"-साइडर" विकल्प देखें। मैं यह सुनिश्चित करने के लिए इसका उपयोग करता हूं कि मेरी वेब साइटें ऊपर हैं और यदि वे नहीं हैं तो मुझे एक ईमेल भेजें। यह मेरे कॉन्ट्राब से एक विशिष्ट प्रविष्टि है:
46 */2 * * * if ! wget -q --spider http://www.rochesterflyingclub.com/ >/dev/null 2>&1; then echo "Rochester Flying Club site is down" ; fi
एक * NIX बॉक्स और उपयोग करने के लिए wget
, मैं सुझाव देता हूं कि किसी फाइल पर लिखना छोड़ दें। मैंने अपने उबंटू 10.04 बॉक्स पर ध्यान दिया, जिसके wget -O /dev/null
कारण पहले डाउनलोड के बाद गर्भपात को रोक दिया गया।
मैंने यह भी देखा कि wget -O real-file
पेज पर वास्तविक लिंक को भूलने के लिए क्या कारण हैं। यह index.html
प्रत्येक पृष्ठ पर उपस्थित होने पर जोर देता है । इस तरह के पृष्ठ हमेशा मौजूद नहीं हो सकते हैं और विग को उन लिंक्स को याद नहीं होगा जो पहले देख चुके हैं।
mkdir /dev/shm/1
cd /dev/shm/1
wget --recursive --relative --no-parent ...
ध्यान दें कोई -O file
विकल्प नहीं है। wget $ PWD डायरेक्टरी को लिखेगा। इस मामले में यह एक रैम-केवल tmpfs फाइल सिस्टम है। यहाँ लिखकर डिस्क मंथन (स्वैप स्पेस के आधार पर) को बायपास करना चाहिए और सभी लिंक्स पर नज़र रखनी चाहिए। यह पूरी वेबसाइट को सफलतापूर्वक क्रॉल करना चाहिए।
बाद में, निश्चित रूप से,
rm --recursive --force /dev/shm/1/*
--Delete-after विकल्प का उपयोग करें, जो डाउनलोड होने के बाद फ़ाइल को हटा देता है।
संपादित करें: उफ़, मैंने अभी देखा कि पहले से ही उत्तर दिया गया है।
/dev/null
यह काम करेगा?