आम तौर पर पृष्ठों एक लॉगिन प्रपत्र हैलॉगिन के बाद रीडायरेक्ट करने वाले पृष्ठों को कैसे डाउनलोड करें?
wget --no-check-certificate --save-cookies cookies --keep-session-cookies \
--post-data="username=example&password=example" \
"https://example.com/index.php?title=Special:Userlogin&returntotitle="
wget --no-check-certificate --load-cookies=cookies \
--no-parent -r --level=2 -nc -E \
https://example.com/Special:Sitemap
साथ डाउनलोड किया जा सकता लेकिन DekiWiki साइटों के मामले में, यह काम नहीं करता, अगर लॉगिन की आवश्यकता है।
समस्या तेजी में man wget
नोट में वर्णित किया जा करने के लिए: अगर Wget रीडायरेक्ट किया जाता है पोस्ट अनुरोध पूर्ण होने के बाद, उसे रीडायरेक्ट URL को पोस्ट डेटा नहीं भेजेंगे। ऐसा इसलिए है क्योंकि POST को संसाधित करने वाले यूआरएल अक्सर नियमित पृष्ठ पर पुनर्निर्देशन के साथ का जवाब देते हैं, जो पोस्ट की इच्छा या स्वीकार नहीं करता है। यह पूरी तरह स्पष्ट नहीं है कि यह व्यवहार इष्टतम है; यदि यह काम नहीं करता है, तो यह भविष्य में बदल सकता है।
प्रश्न
इस जैसे पर्ल का उपयोग कर किया जा सकता है शायद HTML::TreeBuilder 3
या HTML::TokeParser
या Mechanize
या कोई अन्य पर्ल मॉड्यूल के साथ?
बहुत रोचक। क्या साइट को मिरर करना भी संभव है? मेरे उदाहरण में मैं wget की '--no-parent -r --level = 2' का उपयोग करता हूं। –
क्या आपका मतलब मूल पृष्ठ से इंगित सभी पृष्ठों को दोबारा डाउनलोड करना है? नहीं, कर्ल में न ही -r -level = 2 समतुल्य है, हालांकि, libcurl, एक एपीआई इंटरफ़ेस, आसानी से एक HTML पृष्ठ पार्स करने के लिए प्रोग्राम किया जा सकता है, और उस पृष्ठ के सभी लिंक डाउनलोड कर सकते हैं। लिबकर्ल में निम्नलिखित भाषाओं के लिए बाइंडिंग है (और अधिक): सी, सी ++, जावा, लिस्प, .NET, ऑब्जेक्ट-पास्कल, पास्कल, पर्ल, PHP, पायथन, रूबी, विजुअल बेसिक – Motes
@ मॉट्स, "-कुकी-जार" "--कुकी-जार" में बदलना होगा, है ना? – Sathish