2013-06-27 6 views
8

के माध्यम से sitemap.xml के क्रॉल लिंक क्रॉल करें। मैं साइटमैप.एक्सएमएल के सभी लिंक को वेबसाइट को फिर से कैश करने के लिए क्रॉल करने का प्रयास करता हूं। लेकिन wget का रिकर्सिव विकल्प काम नहीं करता है, मुझे केवल प्रतिक्रिया के रूप में मिलता है:wget कमांड

रिमोट फ़ाइल मौजूद है लेकिन इसमें कोई लिंक नहीं है - पुनर्प्राप्त नहीं किया जा रहा है।

लेकिन निश्चित रूप से sitemap.xml "http: // ..." लिंक से भरा है।

मैं मेरे लिए काम किया wget लेकिन कुछ नहीं के लगभग हर विकल्प की कोशिश की:

wget -r --mirror http://mysite.com/sitemap.xml 

किसी को भी कैसे एक वेबसाइट sitemap.xml के अंदर सभी लिंक को खोलने के लिए जानता है करता है?

धन्यवाद, डोमिनिक

उत्तर

10

ऐसा लगता है कि wget एक्सएमएल पार्स नहीं कर सकता। तो, आपको मैन्युअल रूप से लिंक निकालना होगा। आप ऐसा कुछ कर सकते हैं:

wget --quiet http://www.mysite.com/sitemap.xml --output-document - | egrep -o "https?://[^<]+" | wget -i - 

मैंने इस चाल को here सीखा।

+1

मैं प्रत्येक डाउनलोड किए गए HTML फ़ाइल नाम को पृष्ठ के शीर्षक पर कैसे सेट कर सकता हूं? अभी सब कुछ सिर्फ index.html है, index.html.1, index.html.2 आदि – user2028856

+0

इस पर एक विस्तार देखना चाहते हैं जो xml फ़ाइल संरचना में कई बच्चों के लिए खाता है ... कोई भी? हालांकि यह अच्छा है! धन्यवाद! – lcm

+0

मेरे पास gz प्रारूप में साइटमैप है, मुझे उससे यूआरएल कैसे जाना चाहिए। – StarWars