← Back to Blog

sitemap.xml के माध्यम से पार्सिंग: Wildberries कैटलॉग को वेबसाइट обход करने की तुलना में 10 गुना सस्ता कैसे इकट्ठा करें

साइट को पृष्ठ दर पृष्ठ स्कैन करने के बजाय, तैयार साइटमैप.xml का उपयोग करें - इससे प्रॉक्सी पर खर्च और पार्सिंग का समय कई गुना कम हो जाएगा।

📅October 22, 2026

पार्सिंग में अधिकांश नए लोग साइट का पूरा обход करने से शुरू करते हैं: मुख्य पृष्ठ पर जाते हैं, सभी लिंक इकट्ठा करते हैं, प्रत्येक पर जाते हैं, फिर से लिंक इकट्ठा करते हैं - और ऐसा हजारों बार करते हैं। यह प्रॉक्सी, समय खा जाता है और अक्सर बैन पर समाप्त होता है। एक सरल और सस्ता तरीका है: लगभग हर बड़े साइट, जिसमें Wildberries, Ozon और Avito शामिल हैं, पहले से ही सभी पृष्ठों का एक तैयार मानचित्र - sitemap.xml है। आइए समझते हैं कि इसे कैसे ढूंढें, पढ़ें और हजारों अनावश्यक अनुरोधों के बजाय इसका उपयोग करें।

sitemap.xml क्या है और यह पार्सरों के लिए क्यों महत्वपूर्ण है

Sitemap.xml एक फ़ाइल है, जिसे साइट स्वयं Google और Yandex जैसी खोज इंजनों के लिए बनाती है। इसमें सभी पृष्ठों की सूची होती है, जिन्हें साइट के मालिक चाहता है कि उन्हें अनुक्रमित किया जाए: उत्पाद कार्ड, श्रेणियाँ, ब्लॉग लेख। मूल रूप से, यह URL की एक तैयार सूची है, जिसे साइट स्वयं आपको देती है - आपको मैन्युअल रूप से लिंक पर जाने, पेजिनेशन पर क्लिक करने या नेविगेशन की लॉजिक को समझने की आवश्यकता नहीं है।

उन विक्रेताओं के लिए, जो Wildberries या Ozon पर प्रतिस्पर्धियों की कीमतों की निगरानी कर रहे हैं, इसका अर्थ है: हजारों श्रेणियों और पृष्ठों के माध्यम से जाने के बजाय, आप सीधे एक अनुरोध के साथ सभी उत्पाद कार्डों की सूची प्राप्त कर सकते हैं। मार्केटर्स के लिए, जो प्रतिस्पर्धियों की सामग्री का विश्लेषण करने के लिए URL का आधार इकट्ठा कर रहे हैं, यह मैन्युअल काम के घंटों को बचाता है। आर्बिट्रेजर्स के लिए, जो प्रतिस्पर्धियों के लैंडिंग पृष्ठों को क्रिएटिव्स के विश्लेषण के लिए पार्स करते हैं, sitemap एक बार में सभी साइट के पृष्ठों को दिखाता है।

एक महत्वपूर्ण बिंदु: सभी पृष्ठ sitemap में नहीं आते हैं। कभी-कभी इसमें फ़िल्टर वाले पृष्ठ, अस्थायी प्रचार या URL में पैरामीटर वाले पृष्ठ शामिल नहीं होते हैं। इसलिए sitemap हमेशा साइट का 100% कवरेज नहीं होता है, लेकिन आमतौर पर 80-95% उपयोगी पृष्ठ होते हैं, जो आपको कैटलॉग या निगरानी के लिए आवश्यक होते हैं।

पूर्ण обход बनाम sitemap-first: लागत की तुलना

दृष्टिकोण में अंतर स्पष्ट है, यदि इसे अमूर्त "प्रयासों" में नहीं, बल्कि वास्तविक संसाधनों में गिना जाए: अनुरोधों की संख्या, प्रॉक्सी ट्रैफ़िक का व्यय और परिणाम तक पहुँचने का समय। नीचे 50,000 उत्पाद कार्डों के कैटलॉग को इकट्ठा करने के उदाहरण के साथ तुलना है।

पैरामीटर साइट का पूर्ण обход sitemap के माध्यम से पार्सिंग
URL इकट्ठा करने के लिए अनुरोध 15,000–20,000 (श्रेणियाँ, पेजिनेशन, फ़िल्टर) 50–300 (केवल sitemap फ़ाइलें)
URL सूची इकट्ठा करने का समय 4–8 घंटे 15–30 मिनट
IP ब्लॉक होने का जोखिम अनुरोधों की मात्रा के कारण उच्च कम, अनुरोधों की संख्या कई गुना कम
प्रॉक्सी ट्रैफ़िक पर लोड उच्च, बड़े IP पूल की आवश्यकता न्यूनतम, छोटे पूल से काम चल सकता है
पार्सर की लॉजिक की जटिलता उच्च, नेविगेशन को समझना आवश्यक है कम, XML संरचना का विश्लेषण

शीर्षक में "10 गुना सस्ता" संख्या कोई अतिशयोक्ति नहीं है। यदि पूर्ण обход के लिए केवल पृष्ठों की सूची बनाने के लिए 15-20 हजार अनुरोधों की आवश्यकता होती है, और sitemap उसी सूची को 50-300 अनुरोधों में प्रदान करता है, तो प्रॉक्सी ट्रैफ़िक और समय पर बचत गुणात्मक होती है। इस बीच, आपको उत्पाद कार्डों को अलग से डाउनलोड करना होगा - लेकिन आप निश्चित रूप से जानते हैं कि कौन से URL डाउनलोड करने हैं, और आप खाली पृष्ठों, डुप्लिकेटों और बेकार लिंक पर संसाधन बर्बाद नहीं करते हैं।

किसी भी साइट पर sitemap.xml कैसे खोजें

पहला और सबसे सरल तरीका है साइट के डोमेन में /sitemap.xml जोड़ना। उदाहरण के लिए, जांच के लिए, ब्राउज़र में https://example.com/sitemap.xml जैसा पता खोलने का प्रयास करें। यह अधिकांश साइटों के लिए काम करेगा, जिसमें कई लोकप्रिय CMS पर इंटरनेट स्टोर शामिल हैं।

यदि इस पते पर कुछ नहीं है, तो robots.txt फ़ाइल की जांच करें - यह लगभग हमेशा /robots.txt पते पर होती है और अधिकांश मामलों में Sitemap: https://example.com/sitemap_index.xml पंक्ति होती है। यह आधिकारिक तरीका है, जिससे साइटें खोज इंजनों को बताती हैं कि मानचित्र कहाँ खोजें। बड़े मार्केटप्लेस जैसे Wildberries और Ozon में साइट मानचित्र अक्सर दर्जनों फ़ाइलों में विभाजित होते हैं और इन्हें robots.txt के माध्यम से निर्दिष्ट किया जाता है।

तीसरा विकल्प है Google Search Console जैसी प्रणालियों में उल्लेखों की खोज करना (यदि आपके पास अपनी साइट तक पहुंच है) या विशेष स्कैनर का उपयोग करना, जो सभी sitemap फ़ाइलों को स्वयं खोजते हैं। प्रतिस्पर्धियों की अन्य साइटों के लिए आमतौर पर पहले दो तरीकों से ही काम चल जाता है - robots.txt को लगभग कभी भी बाहरी आंखों से बंद नहीं किया जाता है, यह एक सार्वजनिक फ़ाइल है।

सलाह:

Sitemap फ़ाइलों के नाम हमेशा मानक नहीं होते हैं। sitemap_index.xml, sitemap-products.xml, product-sitemap.xml और इसी तरह के विकल्प मिलते हैं। हमेशा robots.txt से शुरू करें - यह सटीक पथ बताएगा।

मार्केटप्लेस में sitemap की संरचना: अनुक्रमणिका और अंतर्निहित मानचित्र

छोटे साइटों में आमतौर पर सभी URL के साथ एक sitemap.xml फ़ाइल होती है। लेकिन बड़े कैटलॉग, जैसे Wildberries, Ozon या Avito में, लाखों पृष्ठ होते हैं, और एक XML फ़ाइल के साथ इस मात्रा को संभालना असुविधाजनक होगा। इसलिए वे तथाकथित sitemap अनुक्रमणिका का उपयोग करते हैं - एक फ़ाइल-सूची, जो दर्जनों या सैकड़ों अलग-अलग sitemap फ़ाइलों को संदर्भित करती है, जो श्रेणियों, तिथियों या बस 10-50 हजार URL के पैक में विभाजित होती हैं।

संरचना इस प्रकार दिखती है: पहले आप मुख्य अनुक्रमणिका फ़ाइल खोलते हैं, जिसमें आप उप-साइटमैप के लिंक की सूची पाते हैं, जैसे sitemap-products-1.xml, sitemap-products-2.xml आदि। फिर आपको इन फ़ाइलों में से प्रत्येक को डाउनलोड करना होगा और फिर से अंतिम URL उत्पाद कार्डों को निकालना होगा। यह एक दो-स्तरीय प्रक्रिया है, लेकिन यह फिर भी साइट की नेविगेशन को मैन्युअल रूप से पार करने की तुलना में बहुत तेज है।

कभी-कभी उप-साइटमैप फ़ाइलें gzip प्रारूप में संकुचित होती हैं (विस्तार .xml.gz) - यह सर्वर पर स्थान बचाने के लिए एक मानक प्रथा है। यदि स्क्रिप्ट फ़ाइल डाउनलोड करती है और XML के बजाय अव्यवस्थित प्रतीकों को देखती है, तो संभवतः पार्सिंग से पहले सामग्री को पहले अनज़िप करना आवश्यक है।

sitemap से URL का चरण-दर-चरण निष्कर्षण

उनके लिए जो तैयार no-code पार्सिंग उपकरणों के साथ काम कर रहे हैं, अधिकांश आधुनिक मार्केटप्लेस कैटलॉग पार्सर पहले से ही स्वचालित रूप से sitemap पढ़ने में सक्षम हैं - बस साइट के मूल URL को निर्दिष्ट करें, और उपकरण स्वयं robots.txt को खोजेगा, sitemap अनुक्रमणिका को खोजेगा और सभी कार्डों की सूची इकट्ठा करेगा। लेकिन यदि आप एक डेवलपर के साथ काम कर रहे हैं या स्वयं एक छोटा स्क्रिप्ट लिख रहे हैं, तो काम करने की लॉजिक सरल है, और यहाँ Python में एक उदाहरण है:

import requests
import gzip
from io import BytesIO
from lxml import etree

def get_sitemap_urls(sitemap_url, proxies=None):
    response = requests.get(sitemap_url, proxies=proxies, timeout=15)
    content = response.content

    # यदि फ़ाइल संकुचित है तो gzip को अनपैक करना
    if sitemap_url.endswith('.gz'):
        content = gzip.decompress(content)

    root = etree.fromstring(content)
    namespace = {'ns': 'http://www.sitemaps.org/schemas/sitemap/0.9'}

    # यदि यह sitemap अनुक्रमणिका है - उप-मानचित्रों के लिंक इकट्ठा करें
    sub_sitemaps = root.findall('.//ns:sitemap/ns:loc', namespace)
    if sub_sitemaps:
        all_urls = []
        for sub in sub_sitemaps:
            all_urls.extend(get_sitemap_urls(sub.text, proxies))
        return all_urls

    # यदि यह सामान्य sitemap है - अंतिम URL इकट्ठा करें
    urls = root.findall('.//ns:url/ns:loc', namespace)
    return [url.text for url in urls]

proxy = {
    "http": "http://user:pass@proxy_host:port",
    "https": "http://user:pass@proxy_host:port"
}

urls = get_sitemap_urls("https://example.com/sitemap_index.xml", proxies=proxy)
print(f"URL पाए गए: {len(urls)}")

यह स्क्रिप्ट अनुक्रमणिका फ़ाइल के माध्यम से पुनरावृत्त रूप से जाती है, प्रत्येक उप-मानचित्र को डाउनलोड करती है और सभी अंतिम लिंक को एक सूची में इकट्ठा करती है। अंत में, आपको उत्पाद कार्डों के URL की पूरी सूची मिलती है बिना साइट की नेविगेशन पर एक भी अनावश्यक क्लिक किए।

URL टेम्पलेट के अनुसार आवश्यक पृष्ठों को फ़िल्टर करना

एक बार जब आप sitemap से URL की पूरी सूची प्राप्त कर लेते हैं, तो लगभग हमेशा इसे फ़िल्टर करना आवश्यक होता है। एक sitemap फ़ाइल में उत्पाद कार्ड, श्रेणी पृष्ठ, ब्लॉग लेख, ब्रांड पृष्ठ और सेवा पृष्ठ एक साथ हो सकते हैं। आपको संभवतः केवल एक निश्चित श्रेणी के उत्पाद कार्डों की आवश्यकता है।

फ़िल्टरिंग के लिए आमतौर पर URL टेम्पलेट का उपयोग किया जाता है। उदाहरण के लिए, यदि साइट पर उत्पाद कार्ड का स्वरूप /catalog/product/12345 है, जबकि श्रेणियाँ /catalog/category/electronics के रूप में दिखती हैं, तो एक साधारण पथ खंड तुलना से एक को दूसरे से अलग करना आसान है। अधिक जटिल मामलों के लिए, जहां URL की संरचना स्पष्ट नहीं है, नियमित अभिव्यक्तियों का उपयोग किया जाता है - वे एक बार टेम्पलेट निर्धारित करने की अनुमति देते हैं और तुरंत सैकड़ों हजारों लिंक को फ़िल्टर करते हैं।

अतिरिक्त रूप से, sitemap के भीतर <lastmod> टैग पर ध्यान देना उपयोगी है - वे पृष्ठ के अंतिम परिवर्तन की तिथि दिखाते हैं। यदि आपको पूर्ण कैटलॉग की आवश्यकता नहीं है, बल्कि केवल पिछले सप्ताह में अपडेट किए गए उत्पादों की आवश्यकता है (उदाहरण के लिए, प्रतिस्पर्धियों की नई स्थिति की निगरानी के लिए), तो आप URL को इस तिथि के अनुसार फ़िल्टर कर सकते हैं और उन पृष्ठों को छोड़ सकते हैं जो महीनों से नहीं बदले हैं।

साइट मानचित्रों को बड़े पैमाने पर डाउनलोड करने के लिए प्रॉक्सी सेटअप

हालाँकि sitemap के लिए अनुरोधों की संख्या पूर्ण обход की तुलना में कई गुना कम है, फिर भी साइटें जैसे Wildberries और Ozon संदिग्ध गतिविधियों की निगरानी करती हैं - एक IP से बहुत अधिक बार अनुरोध, असामान्य User-Agent, ब्राउज़र हेडर की अनुपस्थिति। इसलिए, sitemap फ़ाइलों को डाउनलोड करने के लिए भी प्रॉक्सी का उपयोग करना उचित है, विशेष रूप से यदि आप नियमित निगरानी की योजना बना रहे हैं, न कि केवल एक बार कैटलॉग इकट्ठा करने के लिए।

स्वयं XML फ़ाइलों को डाउनलोड करने के लिए आमतौर पर डेटा सेंटर प्रॉक्सी पर्याप्त होते हैं - वे तेज़ और सस्ते होते हैं, और sitemap के लिए अनुरोधों की संख्या कम होती है, और साइटें सामान्य कैटलॉग पृष्ठों की तुलना में उन पर सख्त सुरक्षा लागू करती हैं। लेकिन फिर, उत्पाद कार्डों को डाउनलोड करने के चरण पर, जहां अनुरोधों की संख्या अधिक होती है और सुरक्षा अधिक होती है, रिज़िडेंट प्रॉक्सी पर स्विच करना बेहतर होता है - वे सामान्य उपयोगकर्ताओं के वास्तविक IP का उपयोग करते हैं और मार्केटप्लेस के एंटी-बॉट सिस्टम द्वारा ब्लॉक होने की संभावना कम होती है।

यदि आप मोबाइल साइटों के मोबाइल संस्करणों या API से कैटलॉग की निगरानी कर रहे हैं, जो केवल मोबाइल ट्रैफ़िक पर डेटा प्रदान करता है, तो मोबाइल प्रॉक्सी पर विचार करना उचित है - वे मोबाइल ऑपरेटरों के IP का उपयोग करते हैं और अधिकांश एंटी-फ्रॉड सिस्टम में सबसे विश्वसनीय माने जाते हैं।

स्क्रिप्ट या पार्सर में व्यावहारिक सेटअप सरल है: अनुरोध के संबंधित फ़ील्ड में प्रॉक्सी का होस्ट, पोर्ट, लॉगिन और पासवर्ड निर्दिष्ट करें (जैसा कि ऊपर कोड उदाहरण में प्रॉक्सी पैरामीटर में दिखाया गया है), या यदि आप तैयार no-code पार्सर या एंटी-डिटेक्ट ब्राउज़र जैसे Dolphin Anty या AdsPower का उपयोग कर रहे हैं, तो स्वचालित संग्रह की सेटिंग से पहले साइट की संरचना की मैन्युअल रूप से जांच करने के लिए, प्रोफ़ाइल सेटिंग्स में प्रॉक्सी डेटा डालें: "प्रॉक्सी" टैब खोलें → HTTP या SOCKS5 प्रकार चुनें → होस्ट, पोर्ट, लॉगिन, पासवर्ड डालें → प्रोफ़ाइल सहेजें।

sitemap के साथ काम करते समय सामान्य गलतियाँ

पहली और सबसे सामान्य गलती - robots.txt की अनदेखी करना और sitemap का पता लगाने की कोशिश करना। यह समय की बर्बादी है, जिसे आसानी से टाला जा सकता है, बस अनुक्रमणिका नियम फ़ाइल में झांककर।

दूसरी गलती - यह ध्यान में न रखना कि sitemap अधूरा हो सकता है। कुछ साइटें जानबूझकर sitemap से SEO के लिए कम मूल्य वाले पृष्ठों को बाहर करती हैं, लेकिन जो कीमतों की निगरानी के लिए फिर भी महत्वपूर्ण होते हैं - जैसे कि अनुपलब्ध उत्पादों के पृष्ठ। यदि sitemap के माध्यम से पार्सिंग के बाद एकत्रित कार्डों की संख्या अपेक्षित से काफी कम है, तो साइट में श्रेणी में दिखाए गए उत्पादों की संख्या की तुलना करें और आवश्यकतानुसार गायब अनुभागों के लिए बिंदुवार обход को पूरा करें।

तीसरी गलती - पहले से डाउनलोड किए गए sitemap फ़ाइलों को कैश न करना। यदि आप दैनिक निगरानी चला रहे हैं, तो हर बार अनुक्रमणिका फ़ाइल और सभी उप-मानचित्रों को फिर से डाउनलोड करने का कोई मतलब नहीं है - उनमें से अधिकांश हर दिन नहीं बदलते हैं। URL की सूची को स्थानीय रूप से सहेजें और केवल वही अपडेट करें जो वास्तव में lastmod तिथि के अनुसार बदल गया है।

चौथी गलती - अनुरोध हेडर को भूल जाना। यहां तक कि एक साधारण XML फ़ाइल को डाउनलोड करना भी अवरुद्ध किया जा सकता है यदि अनुरोध बॉट के रूप में दिखता है: बिना User-Agent, बिना Accept-Language, डिफ़ॉल्ट रूप से अनुरोधों के लिए पुस्तकालय द्वारा सेट किए गए असामान्य हेडर के साथ। प्रॉक्सी के साथ ब्राउज़र के यथार्थवादी हेडर जोड़ने से इस चरण पर ब्लॉक होने की संभावना काफी कम हो जाती है।

sitemap के माध्यम से पार्सिंग शुरू करने के लिए चेकलिस्ट

पूर्ण कैटलॉग संग्रह शुरू करने से पहले, कुछ कदमों की एक छोटी सूची पर जाएँ, ताकि गलतियों पर समय बर्बाद न हो:

  • साइट के robots.txt की जांच की और sitemap या sitemap अनुक्रमणिका का सटीक पता पाया
  • सुनिश्चित किया कि sitemap की संरचना दो-स्तरीय (अनुक्रमणिका + उप-मानचित्र) या एक-स्तरीय है
  • जांच की कि क्या उप-फाइलें gzip में संकुचित हैं
  • आवश्यक पृष्ठों के लिए URL टेम्पलेट निर्धारित किया (उत्पाद कार्ड, श्रेणियाँ आदि)
  • यदि केवल ताज़ा पदों की आवश्यकता है, तो टेम्पलेट या lastmod तिथि के अनुसार फ़िल्टरिंग सेट की
  • sitemap फ़ाइलों को डाउनलोड करने और उत्पाद कार्डों को अलग से डाउनलोड करने के लिए प्रॉक्सी कनेक्ट किया
  • यथार्थवादी अनुरोध हेडर जोड़े (User-Agent, Accept-Language)
  • पुनरावृत्त निगरानी के लिए कैशिंग और तिथि की तुलना सेट की
  • URL की अंतिम संख्या को साइट पर उत्पादों की अनुमानित संख्या से मिलाया

निष्कर्ष

Sitemap-first दृष्टिकोण एक हैक नहीं है और न ही सुरक्षा को बाईपास करना है, बल्कि उस जानकारी का उपयोग करना है, जो साइट स्वयं खोज इंजनों के लिए प्रकाशित करती है। हजारों अनुरोधों के बजाय नेविगेशन, श्रेणियों और पेजिनेशन के लिए, आप XML फ़ाइलों के लिए कुछ दर्जन अनुरोधों में आवश्यक पृष्ठों की एक तैयार सूची प्राप्त करते हैं। यह पार्सिंग शुरू करने में समय बचाता है, प्रॉक्सी ट्रैफ़िक के व्यय को कम करता है और IP ब्लॉक होने के जोखिम को काफी कम करता है, क्योंकि साइट पर लोड पूर्ण обход की तुलना में कई गुना कम होता है।

यदि आप Wildberries, Ozon या किसी अन्य बड़े साइट के कैटलॉग की निगरानी शुरू कर रहे हैं, तो sitemap से शुरू करें - संभावना है कि आप पहले ही लॉन्च पर घंटों का काम बचाएंगे। स्वयं sitemap फ़ाइलों को डाउनलोड करने के लिए सस्ते डेटा सेंटर प्रॉक्सी पर्याप्त होंगे, और उत्पाद कार्डों के लिए नियमित डेटा संग्रह के लिए, जहां ब्लॉक होने का जोखिम अधिक है, रिज़िडेंट प्रॉक्सी पर विचार करना उचित है - वे लंबे समय में पार्सर के स्थिर संचालन को सुनिश्चित करते हैं बिना बार-बार बैन के।