एक वेबसाइट की एक निर्देशिका मिररिंग


1

मैं क्लासिक "स्टार्टिंग फोर" पुस्तक डाउनलोड करना चाहता हूं , जो प्रिंट से बाहर लगती है, लेकिन यहां मुफ्त में उपलब्ध है । यही है, मैं forth.com/starting-forth/उपनिर्देशिका (और केवल वहाँ) के अंदर सभी HTML पृष्ठों को डाउनलोड करने के लिए एक साइट-रिपर का उपयोग करना चाहता हूं जो कि सूचकांक से जुड़े हुए हैं और उन पृष्ठों में उपयोग किए गए सभी चित्र भी हैं, भले ही उनके स्थान की परवाह किए बिना।

मैंने इसे क्रैक के साथ करने की कोशिश की, लेकिन यह काफी जटिल लग रहा है , क्योंकि मुझे मैन्युअल रूप से सभी उपनिर्देशिकाओं को जोड़ना होगा forth.com/starting-forth/

मुझे कैसे आगे बढ़ना चाहिए? विंडोज या लिनक्स समाधान अच्छे हैं, हालांकि मैं बाद वाला पसंद करूंगा।


क्या आपने कोशिश की wget? BTW सभी विकल्पों को पढ़ें और ऑनलाइन कुछ कमांड-लाइन उदाहरण खोजें। ऐसा लगता है कि उस साइट पर कोई रोबोट नहीं है। `wget -p -k example.com/sub-dir 'साइट पर बने रहने के विकल्प की जाँच करें और उस शुरुआती निर्देशिका तक जाने से बचें।
हस्त्तूर

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

जवाबों:


3

आप उपयोग कर सकते हैं wget

wget -r -np -k https://www.forth.com/starting-forth/
  • -r पुनरावर्ती
  • -np मूल निर्देशिका के लिंक का पालन न करें
  • -k डाउनलोड किए गए HTML या सीएसएस में लिंक बनाने के लिए स्थानीय फ़ाइलों को इंगित करें

( इस जवाब से )

(संपादित करें) अंतिम आदेश:

wget -r -np -k -p --domains forth.com,netdna-ssl.com -H https://www.forth.com/starting-forth/
  • --domainsउन डोमेन को सेट करने के लिए उपयोग किया जाता है जहां से सामग्री डाउनलोड की जाएगी। यह सामान्य रूप से सिर्फ वेबसाइट और सीडीएन होगा।
  • -Hअन्य होस्ट्स (जिन्हें आप डालते हैं --domain) से सामग्री डाउनलोड करने की अनुमति देता है ।

find . -name "*.html" -type f -exec sed -i 's/\?ver=/_ver=/g' {} +

यह सब html फ़ाइलें खोज करता है और के लिए संदर्भ की जगह ?verके साथ _ver, क्योंकि जब wget किसी भी फाइल की तरह जहां यूआरएल कुछ शामिल है डाउनलोड करता है jquery.colorbox.js?ver=1.1.0यह बदलने की जरूरत है ?के साथ _एक फ़ाइल के रूप में बचाने के लिए।


@ भेड़िया-रेवो-बिल्लियों मैंने इसे स्थानीय रूप से आज़माया और जहाँ तक मैं बता सकता हूँ कि सभी चित्र सहेज लिए गए हैं।
केविन

मेरे लिए नहीं और मैंने आपकी आज्ञा का बिल्कुल उपयोग किया। बेशक वे ब्राउज़र में दिखाई देते हैं, क्योंकि आप ऑनलाइन हैं। लेकिन छवि फ़ाइलों के लिए स्थानीय दर्पण निर्देशिका में एक खोज करते हैं, वहाँ कोई नहीं हैं।
भेड़िया-रेवो-बिल्लियाँ

ठीक है, मैं wget मैनपेज पढ़ता हूं। यह एक wget -r -np -k -p --domains forth.com,netdna-ssl.com -H https://www.forth.com/starting-forth/प्रकार का कार्य है। कम से कम यह छवि फ़ाइलों को डाउनलोड करता है। अभी भी कुछ मिरर साइट :-( :-( के लेआउट के साथ बिल्कुल ठीक नहीं यह कम से कम है, लेकिन यह ठीक है, प्रयोग करने योग्य अब अगर आप सही मायने में ऑफ़लाइन हैं। आप जानते हैं कि यह पूरी तरह से ठीक करने के लिए हैं, तो कृपया मुझे बताएँ। आपकी मदद के लिए अब तक धन्यवाद।
भेड़िया-रेवो-बिल्लियाँ

जैसा कि लगता है, wget "?" एक "_" के साथ colorbox.css? ver = 4.7.2 जैसी फाइलों में। आप कुछ ऐसा चला सकते हैंfind . -name "*.html" -type f -exec sed -i 's/\?ver=/_ver=/g' {} +
केविन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.