रीसेंटली क्रॉल करने के लिए एक साइट और डाउनलोड छवियों के लिए विंग का उपयोग करना


13

आप एक वेबसाइट को फिर से कैसे क्रॉल करने का निर्देश देते हैं और केवल कुछ प्रकार के चित्र डाउनलोड करते हैं?

मैंने एक साइट को क्रॉल करने के लिए इसका उपयोग करने की कोशिश की और केवल Jpeg चित्र डाउनलोड किया:

wget --no-parent --wait=10 --limit-rate=100K --recursive --accept=jpg,jpeg --no-directories http://somedomain/images/page1.html

हालाँकि, भले ही page1.html में उप -पृष्ठों के सैकड़ों लिंक शामिल हैं, जो स्वयं छवियों से सीधे लिंक रखते हैं, रिपोर्ट की चीजों को भूल जाते हैं जैसे "सबपेज 13.html हटाना क्योंकि इसे अस्वीकार कर दिया जाना चाहिए", और कभी भी कोई भी चित्र डाउनलोड नहीं करता है, क्योंकि कोई भी सीधे से जुड़ा नहीं है। शुरुआती पेज से।

मैं यह मान रहा हूं क्योंकि मेरे --accept को डाउनलोड करने के लिए क्रॉल और फ़िल्टर सामग्री दोनों को निर्देशित करने के लिए उपयोग किया जा रहा है, जबकि मैं चाहता हूं कि यह केवल सामग्री के डाउनलोड को निर्देशित करने के लिए उपयोग किया जाए। मैं सभी लिंक से wget क्रॉल कैसे कर सकता हूं, लेकिन * .jpeg जैसे कुछ एक्सटेंशन वाली फ़ाइलों को केवल डाउनलोड करें?

संपादित करें: इसके अलावा, कुछ पृष्ठ गतिशील हैं, और एक CGI स्क्रिप्ट (जैसे img.cgi; fo9s0f989wefw90e) के माध्यम से उत्पन्न होते हैं। यहां तक ​​कि अगर मैं अपनी स्वीकारोक्ति सूची (जैसे --accept = jpg, jpeg, html, cgi) में cgi को जोड़ता हूं, तब भी ये हमेशा अस्वीकृत हो जाते हैं। क्या इसके चारों ओर एक रास्ता है?

जवाबों:


5

आप उपयोग करने का प्रयास क्यों नहीं करेंगे wget -A jpg,jpeg -r http://example.com?


प्रश्न में कहा गया है कि कुछ चित्र /url/path.cgi?query फॉर्म के हैं, इसलिए आपका सुझाव उन लोगों को नहीं मिलेगा।
चार्ल्स स्टीवर्ट

1

यदि आप इसे डाउनलोड करने की अनुमति नहीं है, तो आप उपपृष्ठ 13.html की सामग्री (और इसलिए jpg के लिंक से) को जानने की अपेक्षा करते हैं। मेरा सुझाव है कि आप html की अनुमति दें, जो आप चाहते हैं वह प्राप्त करें, फिर जो आप नहीं चाहते हैं उसे हटा दें।


मुझे इस बात पर बिलकुल यकीन नहीं है कि आपकी cgi क्यों खारिज हो रही है ... क्या wget द्वारा कोई त्रुटि आउटपुट है? शायद वेज वर्बोज़ ( -v) करें और देखें। एक अलग प्रश्न के रूप में सबसे अच्छा हो सकता है।

उस ने कहा, यदि आप बैंडविड्थ की परवाह नहीं करते हैं और बहुत सारे डाउनलोड करते हैं तो जो आप नहीं चाहते हैं उसे हटा दें, इससे कोई फर्क नहीं पड़ता।


यह भी देखें --html-extension

मैन पेज से:

-इ

--html-विस्तार

यदि किसी प्रकार के एप्लिकेशन / xhtml + xml या टेक्स्ट / html की फ़ाइल डाउनलोड की जाती है और URL regexp के साथ समाप्त नहीं होता है। [Hh] [Tt] [Mm] [Ll] ?, यह विकल्प प्रत्यय का कारण होगा। html स्थानीय फ़ाइल नाम में जोड़ा गया। उदाहरण के लिए, यह उपयोगी है, जब आप एक दूरस्थ साइट का उपयोग करते हैं जो .asp पृष्ठों का उपयोग करता है, लेकिन आप चाहते हैं कि दर्पण पृष्ठ आपके स्टॉक अपाचे सर्वर पर देखा जा सके। इसके लिए एक और अच्छा उपयोग है जब आप CGI-gener- ated सामग्री डाउनलोड कर रहे हैं। Http://site.com/article.cgi?25 जैसे URL को article.cgi? 25.html के रूप में सहेजा जाएगा।

ध्यान दें कि इस तरह से बदले गए फ़ाइलनाम को किसी साइट पर री-मिरर करने पर हर बार फिर से डाउनलोड किया जाएगा, क्योंकि Wget यह नहीं बता सकता है कि स्थानीय X.html फ़ाइल दूरस्थ URL X से मेल खाती है (क्योंकि यह अभी तक नहीं पता है कि URL प्रकार का आउटपुट उत्पन्न करता है पाठ / HTML या अनुप्रयोग / xhtml + xml। इस पुन: डाउनलोड को रोकने के लिए, आपको -k और -K का उपयोग करना होगा ताकि फ़ाइल का मूल संस्करण X.orig के रूप में सहेजा जा सके।


--restrict-file-names=unix उन cgi urls के कारण भी उपयोगी हो सकता है ...


मुझे wget के विकल्पों को जोड़ना बंद कर देना चाहिए .. --no-parentमैं इंगित करना चाहता था लेकिन मैं वहाँ रुकूँगा।
प्राइस

0

आप बिना प्रोग्रामिंग के भी MetaProducts ऑफ़लाइन एक्सप्लोरर का उपयोग कर सकते हैं


-1

--page-requisitesविकल्प जोड़ने का प्रयास करें


यह सभी जुड़े मीडिया को डाउनलोड करता है। छवियों को डाउनलोड करने के लिए उपयोग करने का एकमात्र तरीका पृष्ठ पर सभी सामग्री डाउनलोड करना है ?!
सेरिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.