`Wget` बनाने से पेज सेव नहीं होता है


68

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


मैं लिनक्स के लिए नया हूँ - क्या /dev/nullयह काम करेगा?
राम रचूम

2
तो फिर इसे डाउनलोड करने का क्या मतलब है?
बेनामी

1
@ अनाम मैं रिमोट सर्वर पर जोर देने के लिए मानती हूं .. यदि आप सामग्री के बारे में परवाह नहीं करते हैं .. तो मैं शायद अपाचेबेंच (एबी) का उपयोग करूंगा।
टॉम ओ'कॉनर

जवाबों:


83

आप wget के आउटपुट को / dev / null (या विंडोज पर NUL) में पुनर्निर्देशित कर सकते हैं:

wget http://www.example.com -O /dev/null

फ़ाइल को डिस्क पर नहीं लिखा जाएगा, लेकिन इसे डाउनलोड किया जाएगा।


यह पृष्ठ को सहेजता नहीं है, लेकिन यह मुझे ईमेल भेजता है। क्या ईमेल को निष्क्रिय करना भी संभव है?
trante

32

यदि आप फ़ाइल को सहेजना नहीं चाहते हैं, और आपने पृष्ठ को डाउनलोड करने के समाधान को स्वीकार कर लिया है /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मैन पेज में लिखा है कि यह रिमोट सर्विस से फाइल प्राप्त करने के लिए "रिमोट सर्वर को एक उपयुक्त निर्देश ('प्रज्ञा: नो-कैश') भेजने के लिए प्रेरित करता है"
Gaia

यह सर्वर से कहता है कि आपका क्लाइंट फ़ाइल का कैश्ड संस्करण नहीं चाहता है .. हम उस संसाधन की बहुत अंतिम रिलीज प्राप्त करना चाहते हैं जिसके लिए हम अनुरोध कर रहे हैं
drAlberT

17

$ wget http://www.somewebsite.com -O foo.html --delete-after


1
बहुत बहुत धन्यवाद। --delete-afterविकल्प विकल्प आप रिकर्सिवली डाउनलोड करने के लिए है, लेकिन आप वास्तविक सामग्री अभी नहीं करना चाहते है।
ईजेलेव

मेरे लिए +1, कमांड सहज है - एक नज़र में, मैं जल्दी से समझ सकता हूं कि क्या होने वाला है-O /dev/null
फ्यूजन 27

15

यदि आप भी कंसोल में प्रिंट करना चाहते हैं तो आप जो परिणाम कर सकते हैं:

wget -qO- http://www.example.com

1
मुझे यह विकल्प सबसे अच्छा लगता है। यह मुझे देखने दो कि यह क्या मिलता है लेकिन इसे नहीं बचाता है। स्विच विशेष रूप से qशांत मोड हैं, (यह प्रगति और अन्य जानकारी का उत्पादन नहीं करता है), और O-(कंसोल के लिए पुनर्प्राप्त दस्तावेज़ लिखें)।
ऑक्टोपस

9

एक अन्य विकल्प एक उपकरण का उपयोग करना है curl, जो डिफ़ॉल्ट रूप stdoutसे किसी फ़ाइल को सहेजने के बजाय दूरस्थ सामग्री को आउटपुट करता है ।


4

"-साइडर" विकल्प देखें। मैं यह सुनिश्चित करने के लिए इसका उपयोग करता हूं कि मेरी वेब साइटें ऊपर हैं और यदि वे नहीं हैं तो मुझे एक ईमेल भेजें। यह मेरे कॉन्ट्राब से एक विशिष्ट प्रविष्टि है:

46 */2 * * * if ! wget -q --spider http://www.rochesterflyingclub.com/ >/dev/null 2>&1; then echo "Rochester Flying Club site is down" ; fi

3

यदि आपको wget का उपयोग करके एक वेबसाइट क्रॉल करने की आवश्यकता है और डिस्क मंथन को कम करना चाहते हैं ...

एक * 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/*

2

--Delete-after विकल्प का उपयोग करें, जो डाउनलोड होने के बाद फ़ाइल को हटा देता है।

संपादित करें: उफ़, मैंने अभी देखा कि पहले से ही उत्तर दिया गया है।


0

मदद डॉक (wget -h) के अनुसार, आप डाउनलोड (संस्करण 1.14) को छोड़ने के लिए --spider विकल्प का उपयोग कर सकते हैं।

Download:
  -S,  --server-response         print server response.
       --spider                  don't download anything.


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