पुनरावर्ती डाउनलोड को भूल जाओ, लेकिन मैं सभी लिंक का पालन नहीं करना चाहता


10

मैं wget का उपयोग करके एक वेबसाइट को मिरर करने की कोशिश कर रहा हूं, लेकिन मैं बहुत सारी फाइलें डाउनलोड नहीं करना चाहता हूं, इसलिए मैं --rejectसभी फाइलों को नहीं बचाने के लिए wget के विकल्प का उपयोग कर रहा हूं । हालाँकि wget अभी भी सभी फ़ाइलों को डाउनलोड करेगा और फिर बाद में फ़ाइल को हटा देगा यदि यह मेरे अस्वीकार विकल्प से मेल खाता है।

अगर कुछ शेल वाइल्डकार्ड से मेल खाते हैं तो कुछ लिंक का पालन नहीं करने का कोई तरीका है? यदि विकट ऐसा नहीं कर सकता है, तो क्या कुछ अन्य सामान्य लिनक्स कमांड हैं जो ऐसा कर सकते हैं?


3
कृपया अपना पूरा कमांड पोस्ट करें। यह समस्या निवारण के लिए बहुत आसान बनाता है।
जोसेफ केर्न

जवाबों:


9

आप HTTrack की भी कोशिश कर सकते हैं , जिसमें IMO, अधिक लचीला और सहज ज्ञान युक्त तर्क / शामिल नहीं है। कुछ इस तरह...

httrack "https://example.com" -O ExampleMirrorDirectory \
"-*" \
"+https://example.com/images/*" \
"-*.swf"

नियमों को आदेश में लागू किया जाएगा, और पिछले नियमों को ओवरराइड करेगा ...

  1. सब कुछ छोड़कर
  2. लेकिन https://example.com/images/ * शामिल करें
  3. लेकिन swf में समाप्त होने वाली किसी भी चीज़ को बाहर करें

क्या यह अपडेटेड यूआरएल के साथ सीएसएस, इमेज आदि डाउनलोड करेगा?
brandizzi


1

'मैन वेट' के --reject सेक्शन के तहत:

"ध्यान दें कि यदि वाइल्डकार्ड वर्णों में से कोई भी, *,?, [या], एलीट या रि-लिस्ट के एक तत्व में दिखाई देता है, तो इसे एक प्रत्यय के बजाय एक पैटर्न के रूप में माना जाएगा।"

यदि आप ऐसा कर रहे हैं, तो हो सकता है कि आप उन पैटर्नों का उदाहरण देना चाहें जो आप उपयोग कर रहे हैं और जो आपको लगता है कि मैच होना चाहिए, और वह नहीं है। आप कहते हैं कि वे मेल खा रहे हैं, लेकिन क्या आपको यकीन है?

यह भी सुनिश्चित करें कि आपने इस सूची को उद्धरणों में रखा है, इसलिए शेल उन वाइल्डकार्डों का विस्तार नहीं करता है जो तर्क करने के लिए तर्क को पारित करते हैं।

यहां तक ​​कि अगर आपके सिस्टम में संस्करण १.१२ नहीं है, तो यहां मैनुअल के फाइलें अनुभाग के प्रकार पढ़ें । परिवर्तन लॉग के अनुसार, अनुचर ने कुछ चेतावनी जोड़ी:

* NEWS: Added documentation change re: --no-parents, and various
caveats on accept/reject lists behavior. Rearranged some items in
order of priority.

--Reject विकल्प उद्धरणों में हैं। मैं देख सकता हूं कि सही फाइलें मेल खा रही हैं क्योंकि फाइल डाउनलोड होने के बाद, wget फाइल को हटा देता है। मैं इसे पहले स्थान पर फ़ाइल डाउनलोड करने से रोकना चाहता हूं
रोरी

क्या ये htm (l) फाइलें हैं? मैनुअल के अनुसार, ये डाउनलोड किए जाते हैं चाहे कोई भी हो।
काइल ब्रांट

हाँ। वे फाइलें जिन्हें मैं अस्वीकार करना चाहता हूं वे HTML फाइलें हैं। मुझे पता है कि वे डाउनलोड किए जाते हैं चाहे कोई भी हो। क्या इससे बचाव का कोई रास्ता है?
रोरी

1

आप -l NUMBERविकल्प के साथ पुनरावृत्ति के स्तर को प्रतिबंधित कर सकते हैं , अगर यह मदद करता है (एक निश्चित regex पैटर्न का पालन नहीं)।

"2" का एक स्तर index.html, उसके सबसाइट्स / इमेजेस आदि को डाउनलोड करता है और सूसाइट पर लिंक को डाउनलोड करता है।


इस उदाहरण में कोई मदद नहीं करेगा
रोरी

1

आप wget का उपयोग कैसे करते हैं? इसे इस तरह से उपयोग करने का प्रयास करें:

wget -r --reject=gif,jpg,swf http://norc.aut.ac.ir/

यह आदेश gif और jpg और swf फ़ाइलों को अनदेखा करेगा।


रोरी मैककेन जिन फाइलों को अस्वीकार करना चाहते हैं, वे HTML फाइलें हैं, लेकिन वह अन्य HTML फाइलें रखना चाहते हैं, इसलिए यह वाक्यविन्यास उनके प्रश्न पर लागू नहीं होता है।
रॉयस विलियम्स

1

एक वैकल्पिक हल एक प्रॉक्सी सर्वर के माध्यम से wget चलाने के लिए होगा। कुछ पैटर्न को हटाने के लिए अपना प्रॉक्सी सेट करें। यह कभी भी पहली जगह में उन्हें डाउनलोड करने से रोक देगा।

wget -R पैटर्न से मेल खाने वाली फ़ाइल को डाउनलोड और हटा देगा। यह न केवल एक्सटेंशन या फ़ाइल नाम के कुछ हिस्सों के पैटर्न से मेल खा सकता है। यह हालांकि पहले डाउनलोड करने और बाद में हटाने से छूट को रोकता नहीं है।

क्रैक में कुछ अच्छी विशेषताएं हैं, लेकिन मेरे अनुभव में जिस तरह से यह "फाइल" को बचाता है वह थोड़ा विचित्र हो सकता है जैसे कि अगर क्रैक क्रमाक है
। क्वेरी के कुछ हिस्सों
जैसे% h% p /% n% [TYPE: @TYPE = ::]% [PAGEID: PAGEID = ::]।% t
@ @ एक प्रश्न के लिए एक प्लेसहोल्डर है, आप बाद में फ़ाइलों का नाम बदल सकते हैं। या इसके बजाय एक प्रश्न चिह्न से बच सकते हैं? समस्या यह है कि।% t आपके URI के अंत में एक '.html' जोड़ देगा जो कि मूल रूप से '.html' नहीं था और यदि आप इसे बंद करते हैं, तो छवियों को जो क्रैक डाउनलोड करता है, उसमें फ़ाइल एक्सटेंशन का अभाव होगा।

WET IMHO का उपयोग करने के लिए बेहतर है

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