मैं wget आदेश का उपयोग करने के लिए कोशिश कर रहा हूँ। कुछ वेबसाइटों के लिए यह काम करता है लेकिन ज्यादातर मामलों में, यह केवल index.html डाउनलोड करता है। मैंने wget -r कमांड की कोशिश की है लेकिन यह काम नहीं करता है। कोई भी जानता है कि किसी पृष्ठ पर सभी फ़ाइलों को कैसे लाया जाए, या बस मुझे पृष्ठ पर फ़ाइलों और संबंधित यूआरएल की एक सूची दें?क्यों कुछ वेबसाइटों के लिए wget केवल index.html डाउनलोड करता है?</p> <pre><code>wget -p http://www.example.com </code></pre> <p>मुख्य पृष्ठ पर सभी फ़ाइलें लाने के लिए:
उत्तर
Wget भी एक पूरी वेबसाइट डाउनलोड करने में सक्षम है। लेकिन क्योंकि यह सर्वर पर भारी भार डाल सकता है, wget robots.txt फ़ाइल का पालन करेगा।
wget -r -p http://www.example.com
-p पैरामीटर छवियों समेत सभी फ़ाइलों को शामिल करने के लिए wget को बताता है। इसका मतलब यह होगा कि सभी HTML फाइलें देखेंगे कि उन्हें कैसे करना चाहिए।
तो क्या होगा यदि आप robots.txt फ़ाइल द्वारा पालन करना चाहते हैं? वे अपने ब्राउज़र पहचान की जाँच करेगा
wget -r -p -e robots=off http://www.example.com
के रूप में कई साइटों आप पूरी साइट डाउनलोड नहीं दूँगी,: आप बस -e रोबोट = जोड़ने इस तरह आदेश के लिए रवाना कर सकते हैं। इसके आस-पास पहुंचने के लिए, जैसा कि मैंने ऊपर बताया है -U मोज़िला का उपयोग करें।
wget -r -p -e robots=off -U mozilla http://www.example.com
बहुत से वेबसाइट मालिक इस तथ्य को पसंद नहीं करेंगे कि आप अपनी पूरी साइट डाउनलोड कर रहे हैं। यदि सर्वर देखता है कि आप बड़ी मात्रा में फाइलें डाउनलोड कर रहे हैं, तो यह आपको स्वचालित रूप से इसकी ब्लैक लिस्ट में जोड़ सकता है। इस तरह के रास्ते हर डाउनलोड के बाद कुछ सेकंड इंतजार करना है। Wget का उपयोग करके ऐसा करने का तरीका है - wait = X (जहां एक्स सेकंड की मात्रा है।)
आप पैरामीटर का भी उपयोग कर सकते हैं: - यादृच्छिक-प्रतीक्षा करें wget को यादृच्छिक संख्या सेकेंड चुनने दें प्रतीक्षा करने के लिए। आदेश में इस में शामिल करने के लिए:
wget --random-wait -r -p -e robots=off -U mozilla http://www.example.com
आपके उत्तर के लिए धन्यवाद। मैंने कुछ सामान्य यूआरएल (उदाहरण के लिए amazon.com) पर आपके द्वारा वर्णित 3 तरीकों की कोशिश की लेकिन मुझे जो मिला वह केवल index.html था। क्या आपके पास कोई अन्य सुझाव है? –
यहां वही है। केवल index.html – BigSack
@JayH उस पते का उपयोग न करने का प्रयास करें जिसे पुनर्निर्देशित किया जाएगा। आईई अगर आप '' http: // amazon.com''' का उपयोग करते हैं तो यह काम नहीं करेगा क्योंकि आपको www.amazon.com पर रीडायरेक्ट किया जाएगा, लेकिन यदि आप '' http: //www.amazon का उपयोग करेंगे .com''' यह सभी साइट डाउनलोड करना शुरू कर देगा। रोबोट फ़ाइल का पालन न करने की क्षमता कुछ ऐसा नहीं है जो "विनम्र" है, इसलिए यह उतना अच्छा काम नहीं करेगा जितना आप कल्पना कर सकते हैं। –
आप index.html
the wget manual में आप एक विकल्प --default-page=name
जो index.html
डिफ़ॉल्ट रूप से है पा सकते हैं ढूंढें। उदाहरण के लिए आप index.php
में बदल सकते हैं।
--default-page=index.php
मुझे पता है कि इस सूत्र पुराना है, लेकिन कोशिश के साथ क्या रितेश ने उल्लेख किया है:
--no-कुकीज़
यह मेरे लिए काम किया!
आपके द्वारा प्रदान किया गया लिंक होमपेज या /index.html है, इसलिए यह स्पष्ट है कि आपको केवल एक index.html पृष्ठ मिल रहा है। वास्तविक डाउनलोड के लिए, उदाहरण के लिए, "test.zip" फ़ाइल के लिए, आपको अंत में सटीक फ़ाइल नाम जोड़ना होगा। उदाहरण के लिए test.zip फ़ाइल डाउनलोड करने के लिए निम्न लिंक का उपयोग करें:
wget -p domainname.com/test।ज़िप
डाउनलोड एक पूर्ण वेबसाइट wget --mirror
का प्रयोग करें आदेश पंक्ति है जो आप निष्पादित करने के लिए जब आप एक पूर्ण वेबसाइट डाउनलोड करना चाहते और स्थानीय देखने के लिए उपलब्ध कराया चाहते हैं।
wget --mirror -p --convert-लिंक -पी ./LOCAL-DIR http://www.example.com
-mirror: मिरर के लिए उपयुक्त विकल्प चालू।
-p: सभी HTML फ़ाइलों को ठीक से प्रदर्शित करने के लिए आवश्यक सभी फ़ाइलों को डाउनलोड करें।
-convert-links: डाउनलोड के बाद, स्थानीय देखने के लिए दस्तावेज़ में लिंक को रूपांतरित करें।
-पी ./LOCAL-DIR: निर्दिष्ट निर्देशिका में सभी फ़ाइलों और निर्देशिकाओं को बचाने
डाउनलोड केवल कुछ फ़ाइल प्रकारों का प्रयोग wget -r -A
आप इस निम्न स्थितियों के तहत उपयोग कर सकते हैं :
डाउनलोड एक वेबसाइट से सभी छवियों,
डाउनलोड एक वेबसाइट से सभी वीडियो,
- डाउनलोड एक वेबसाइट से सभी पीडीएफ फाइलों
wget -r -A.pdf http://example.com/test.pdf
धन्यवाद। '--mirror' विकल्प अंत में यह मेरे लिए काम करता था। – vergenzt
आप हमेशा @vergenzt का स्वागत करते हैं :) –
सबसे पहले, स्पष्ट करने के लिए प्रश्न, लक्ष्य index.html
और उस पृष्ठ के सभी आवश्यक भागों (छवियों, आदि) को डाउनलोड करना है। -p
विकल्प --page-requisites
के समतुल्य है।
कारण आवश्यक पृष्ठ हमेशा डाउनलोड नहीं होते हैं यह है कि वे अक्सर मूल पृष्ठ (उदाहरण के लिए एक सीडीएन) से एक अलग डोमेन पर होस्ट किए जाते हैं। डिफ़ॉल्ट रूप से, wget refuses to visit other hosts, इसलिए आपको --span-hosts
विकल्प के साथ होस्ट कमाना सक्षम करने की आवश्यकता है।
wget --page-requisites --span-hosts 'http://www.amazon.com/'
आप index.html
लोड और स्थानीय संस्करण से सभी पेज आवश्यक वस्तुएँ लोड करने में सक्षम होने की जरूरत है, तो आप --convert-links
विकल्प जोड़ने के लिए है, तो img
src में यूआरएल का श्रेय है कि (उदाहरण के लिए) की आवश्यकता होगी स्थानीय संस्करणों को इंगित करने वाले सापेक्ष यूआरएल को फिर से लिखा गया।
वैकल्पिक रूप से, आप --no-host-directories
विकल्प जोड़कर एक ही "होस्ट" निर्देशिका के तहत सभी फ़ाइलों को सहेजना चाहेंगे, या --no-directories
विकल्प जोड़कर सभी फ़ाइलों को एक एकल, फ्लैट निर्देशिका में सहेज सकते हैं।
--no-directories
का उपयोग करने से परिणामस्वरूप कई फाइलें वर्तमान निर्देशिका में डाउनलोड की जा रही हैं, इसलिए आप --directory-prefix
का उपयोग करके आउटपुट फ़ाइलों के लिए फ़ोल्डर नाम निर्दिष्ट करना चाहते हैं।
wget --page-requisites --span-hosts --convert-links --no-directories --directory-prefix=output 'http://www.amazon.com/'
मूल्यवान उत्तर के लिए धन्यवाद। इससे पहले कि मैं आपको उपहार प्रदान कर सकूं, इससे पहले कि आप इसे अधिक सामान्य बनाने के लिए कुछ अतिरिक्त जानकारी जोड़ सकें। उदाहरण के लिए, उदाहरण के लिए, इस लिंक के तहत 'http: // indiabix.com/सिविल इंजीनियरिंग/प्रश्न-और-उत्तर /', मैं प्रत्येक श्रेणी/अध्याय में जाने के लिए wget चाहता हूं और प्रत्येक अनुभाग में प्रत्येक पृष्ठ से सभी छवियों को डाउनलोड करना चाहता हूं (बाएं साइडबार पर)।नोटिस, छवियों से, मेरा मतलब है कि प्रश्नों में शामिल गणित सूत्रों की छवियों सहित सभी छवियां। * समस्या यह है कि डाउनलोड index.html डाउनलोड करने के बाद बंद हो जाता है। इस मामले के लिए एक कामकाजी उदाहरण बहुत अच्छा होगा !!! * –
@InsaneCoder आप इसके लिए एक अलग सवाल शुरू करना चाहते हैं और दिखा सकते हैं कि आपने क्या प्रयास किया है, क्योंकि रिकर्सिव फ़ेचिंग समस्या का एक और सेट है, और (जैसा कि मैं समझता हूं यह) मूल सवाल क्या नहीं पूछ रहा था। –
@InsaneCoder '--mirror' विकल्प जोड़ना सबसे सरल है, और आपकी आवश्यकताओं के लिए पर्याप्त हो सकता है। –
एक और समस्या हो सकती है कि आप जिस साइट को प्रतिबिंबित कर रहे हैं www
बिना लिंक का उपयोग करता। तो अगर आप
wget -p -r http://www.example.com
निर्दिष्ट क्योंकि वे एक "अलग" डोमेन से हैं यह किसी भी जुड़ा हुआ (प्रशिक्षु) पृष्ठों डाउनलोड नहीं होंगे। यदि यह मामला है तो का उपयोग
wget -p -r http://example.com
(www
के बिना)।
सही अवलोकन को पुनः प्राप्त नहीं किया जा सका। यह मेरी समस्या के लिए मूल कारण है। –
आप केवल index.html
हो और उस फ़ाइल को लगता है कि यह केवल, (अर्थात् कोई पठनीय पाठ, केवल पात्रों को नियंत्रित) बाइनरी डेटा है तो साइट शायद gzip
संपीड़न का उपयोग कर डेटा भेज रहा है तो।
आप यह देखने के लिए cat index.html | gunzip
चलाकर यह पुष्टि कर सकते हैं कि यह पठनीय HTML आउटपुट करता है या नहीं।
यदि ऐसा है, तो wget
की रिकर्सिव सुविधा (-r
) काम नहीं करेगी। Gzip संपीड़ित डेटा के साथ काम करने के लिए wget
के लिए patch है, लेकिन यह अभी तक मानक रिलीज़ में प्रतीत नहीं होता है।
- 1. हैंडलिंग: <p> </p> बनाम <p></p>
- 2. 'ऑपरेटर <<' के लिए 'std :: cout <<' में अस्पष्ट अधिभार <<
- 3. php:</p><p>
- 4. <p>और</p>
- 5. कास्ट पूर्णांक पर - के लिए</p> <pre><code>SELECT PROD_CODE FROM `PRODUCT` </code></pre> <p>MySQL
- 6. ओवरलोडिंग ऑपरेटर << सरणियों के लिए
- 7. <% $, <% @, <% =, <% # ... सौदा क्या है?
- 8. पीएनजी</p> <p>लिए जावास्क्रिप्ट
- 9. Jquery:</p> <pre><code>var temp = "<div>Some text</div><p>More text<span>here</span></p><p>Even more</p>"; </code></pre> <p>मैं एक खास प्रकार के सभी टैग निकालना चाहते हैं: पट्टी स्ट्रिंग
- 10. अधिभार ऑपरेटर << सरणी के लिए
- 11. हाइबरनेट ClassCastException</p> <p>;-) देखने के लिए मोड केवल
- 12. ?</p> <pre><code><Style TargetType="{x:Type Border}"> </code></pre> <p>और:
- 13. तरह</p> <pre><code><input id="picker" type="date"> </code></pre> <p>क्रोम
- 14. पर jQuery ('टॉगल') संभव है?</p> <pre><code>$('body').on('toggle', '.element', function(){}); </code></pre> <p>:
- 15. पीएचपी: <<< ob_start बनाम
- 16. <? के बजाय php <?
- 17. मैं उस गतिविधि के लिए कैसे पूछूं जिसमें 3 टैग हैं?</p> <p><strong>activity.rb</strong></p> <p><strong>tag.rb</strong></p> <p><strong>tagging.rb</strong></p> <p>टैगिंग गतिविधि और टैग के लिए एक मॉडल में शामिल होने है:
- 18. मैं सूची <Custom> कार्यान्वयन के लिए XmlArrayItem तत्व नाम कैसे सेट करूं?</p> <pre><code><Hotels> <Hotel /> </Hotels> </code></pre> <p>मैं <code>List</code> के एक कार्यान्वयन बना लेने के बाद यह करने के लिए सक्षम होने के लिए:
- 19. i18n, < and > उदाहरण</p> <p>एचटीएमएल के लिए > ; < ; द्वारा प्रतिस्थापित हो जाता है जब इरादा नहीं
- 20. "<%:" क्या करता है?</p> <pre><code><%: Model.FirstName %> </code></pre> <p>क्या "<%:" करता है: कर
- 21. PHP व्यंजक <<< EOB
- 22. नियमित एक्सप्रेस: एकाधिक वर्ण समूहों को कैसे बाहर निकालना है?</p> <blockquote> <p>/उत्पादों</p> <p>/श्रेणियों</p> <p>/ग्राहकों</p> </blockquote> <p>अब एक ग्राहकों जॉन नाम है कहते हैं, और मैं करने के लिए जॉन मदद करना चाहते हैं:
- 23. >>>>,> |, ||, | <, <, <<
- 24. Django: संक्षेप में</p> <pre><code>class Book(models.Model): authors = models.ManyToManyField(Author, ...) ... </code></pre> <p>:
- 25. </p> <pre><code>NSLog(@"%u", myData.length); </code></pre> <p>तो का उपयोग करके megs
- 26. अंतर << a_value
- 27. प्रतिनिधि:</p> <ul> <li>विधेय</li> <li>कार्रवाई</li> <li>समारोह</li> </ul> <p>क्या अन्य प्रतिनिधियों: विधेय कार्रवाई समारोह
- 28. Rgooglemaps आर</p> <p>में पाठ
- 29. रेगेक्स प्लस बनाम स्टार अंतर?</p> <pre><code>(.+?) </code></pre> <p>और</p> <pre><code>(.*?) </code></pre> <p>जब मैं अपने php <code>preg_match</code> regex में इसका इस्तेमाल करते हैं:
- 30. cout << स्ट्रिंगस्ट्रीम
क्या आपके पास एक उदाहरण यूआरएल है? – Fabien
यह आपके [पिछले प्रश्न] से भिन्न कैसे है (http://stackoverflow.com/questions/11123477/how-to-get-a-list-of-all-paths-files-on-a-webpage-using- wget या कर्ल-इन-php)? यदि यह वही समस्या है, तो इसे स्पष्ट करने के लिए अपने पुराने प्रश्न को संपादित करें। –
संभावित डुप्लिकेट [PHP में wget या curl का उपयोग कर किसी वेबपृष्ठ पर सभी पथों/फ़ाइलों की सूची कैसे प्राप्त करें?] (Https://stackoverflow.com/questions/11123477/how-to-get-a-list-of -ल-पथ-फाइल-ऑन-ए-वेबपृष्ठ-उपयोग-wget-or-curl-in-php) –