सवाल 'Wget` बनाना पृष्ठ को सहेजना नहीं है


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


58
2017-10-10 02:05


मूल


मैं लिनक्स के लिए नया हूँ - क्या होगा /dev/null बात काम? - Ram Rachum
तो फिर इसे डाउनलोड करने का क्या मतलब है? - Anonymous
@ अज्ञात मैं रिमोट सर्वर पर दबाव डालने का अनुमान लगाता हूं .. यदि आपको सामग्री की परवाह नहीं है .. हालांकि मैं शायद apachebench (ab) का उपयोग करूंगा। - Tom O'Connor


जवाब:


आप wget के आउटपुट को / dev / null (या Windows पर NUL) पर रीडायरेक्ट कर सकते हैं:

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

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


76
2017-10-10 03:01



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


अगर आप फ़ाइल को सहेजना नहीं चाहते हैं, और आपने पेज को डाउनलोड करने का समाधान स्वीकार कर लिया है /dev/null, मुझे लगता है कि आप पेज सामग्री को पाने और पार्स न करने के लिए wget का उपयोग कर रहे हैं

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

सोचना 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 भी, wget करने के लिए एक विकल्प के रूप में।


29
2017-10-10 06:38



मैं उलझन में हूं। --no-cacheमैन पेज में कहा गया है कि यह रिमोट सेवा से फ़ाइल प्राप्त करने के लिए रिमोट सर्वर को एक उचित निर्देश ('प्रगमा: नो-कैश') भेजने के लिए wget का कारण बनता है " - Gaia
यह सर्वर से कहता है कि आपका क्लाइंट फ़ाइल के कैश किए गए संस्करण को नहीं चाहता है .. हम उस संसाधन की आखिरी रिलीज प्राप्त करना चाहते हैं जिसके लिए हम अनुरोध कर रहे हैं - drAlberT


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


14
2017-10-10 02:16



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


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

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

12
2018-03-31 18:24



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


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


7
2017-10-10 03:49





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

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

3
2017-10-10 02:46





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

एक * NIX बॉक्स और उपयोग के लिए wget, मैं एक फाइल को लेखन छोड़ने का सुझाव देता हूं। मैंने अपने उबंटू 10.04 बॉक्स पर ध्यान दिया wget -O /dev/null पहले डाउनलोड के बाद डाउनलोड को रद्द करने के लिए wget का कारण बन गया।
मैंने यह भी देखा wget -O real-file पृष्ठ पर वास्तविक लिंक भूलने के लिए wget का कारण बनता है। यह एक पर जोर देता है index.html प्रत्येक पृष्ठ पर उपस्थित होने के लिए। ऐसे पृष्ठ हमेशा उपस्थित नहीं हो सकते हैं और wget को पहले देखे गए लिंक याद नहीं होंगे।

डिस्क पर लिखने के बिना क्रॉलिंग के लिए, सबसे अच्छा मैं निम्नलिखित के साथ आया था

 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
2018-04-05 21:05





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

संपादित करें: ओह, मैंने अभी देखा है कि पहले ही उत्तर दिया जा चुका है।


1
2017-10-10 03:16