Back to Blog

उत्पाद विशेषताओं को पार्स करने के लिए प्रॉक्सी: मार्केटप्लेस से बिना ब्लॉक के डेटा कैसे इकट्ठा करें

विपणियों से उत्पादों की विशेषताओं को पार्स करने के लिए प्रॉक्सी चुनने और सेटअप करने के लिए विस्तृत मार्गदर्शिका: प्रॉक्सी के प्रकार, आईपी रोटेशन, वाइल्डबेरीज़ और ओज़ोन की एंटी-बॉट सिस्टम को बायपास करना।

📅January 26, 2026
```html

मार्केटप्लेस से उत्पाद विशेषताओं का पार्सिंग विक्रेताओं, विश्लेषकों और मूल्य एग्रीगेटर्स के लिए एक महत्वपूर्ण कार्य है। Wildberries, Ozon, Yandex.Market और अन्य प्लेटफार्म सक्रिय रूप से डेटा के स्वचालित संग्रह को ब्लॉक करते हैं, उन्नत एंटी-बॉट सिस्टम का उपयोग करते हैं। सही तरीके से सेटअप की गई प्रॉक्सी के बिना, आपका पार्सर 50-100 अनुरोधों के बाद ही बैन हो जाएगा। इस लेख में हम देखेंगे कि पार्सिंग के लिए कौन से प्रॉक्सी प्रकार उपयुक्त हैं, IP रोटेशन को कैसे सेटअप करें और सबसे बड़े मार्केटप्लेस की सुरक्षा को कैसे बायपास करें।

मार्केटप्लेस पार्सिंग को क्यों ब्लॉक करते हैं और यह कैसे काम करता है

आधुनिक मार्केटप्लेस पार्सिंग के कारण लाखों रुपये खो रहे हैं: प्रतिस्पर्धी उत्पादों के विवरण की नकल करते हैं, एग्रीगेटर्स ट्रैफ़िक को इंटरसेप्ट करते हैं, और सर्वरों पर लोड बढ़ता है। इसलिए Wildberries, Ozon, Yandex.Market और अन्य प्लेटफार्मों ने डेटा के स्वचालित संग्रह के खिलाफ बहुस्तरीय सुरक्षा लागू की है।

मार्केटप्लेस पार्सिंग को कैसे पहचानते हैं:

  • एक IP से अनुरोधों की आवृत्ति — यदि एक पते से प्रति मिनट 100+ अनुरोध आते हैं, तो यह स्पष्ट रूप से बॉट का संकेत है। सामान्य उपयोगकर्ता इस समय में 5-10 उत्पाद कार्ड देखता है।
  • JavaScript की अनुपस्थिति — सरल पार्सर्स जैसे requests या curl JS कोड को निष्पादित नहीं करते हैं, जो कीमतें और विशेषताएँ लोड करता है। साइट देखती है कि सामग्री बिना रेंडरिंग के अनुरोध की जा रही है।
  • User-Agent और हेडर — पुस्तकालयों के डिफ़ॉल्ट हेडर (जैसे "python-requests/2.28.0") तुरंत बॉट का पता लगाते हैं। Accept-Language, Referer हेडर की अनुपस्थिति भी संदिग्ध है।
  • ब्राउज़र का फिंगरप्रिंट — उन्नत सिस्टम (Cloudflare, Kasada, DataDome) Canvas, WebGL, फ़ॉन्ट, ब्राउज़र एक्सटेंशन का विश्लेषण करते हैं। Headless-ब्राउज़र जैसे Puppeteer कुछ पैरामीटर की अनुपस्थिति के कारण आसानी से पहचाने जाते हैं।
  • व्यवहार पैटर्न — बॉट समान अंतराल पर उत्पाद कार्ड खोलता है (जैसे, हर 2 सेकंड में), पृष्ठ को स्क्रॉल नहीं करता, माउस नहीं हिलाता। यह इसे जीवित व्यक्ति से अलग करता है।

ब्लॉक होने के परिणाम: 1-24 घंटे के लिए IP का अस्थायी बैन, प्रत्येक अनुरोध पर CAPTCHA, डेटा सेंटर के IP रेंज का पूर्ण ब्लॉक। व्यवसाय के लिए इसका मतलब डेटा संग्रह का ठहराव और प्रतिस्पर्धात्मक लाभ का नुकसान है।

वास्तविक केस: एक मूल्य एग्रीगेटर ने 10 डेटा सेंटर IP के साथ Wildberries को पार्स किया, प्रत्येक से प्रति घंटे 500 अनुरोध किए। 3 दिन बाद पूरा /24 रेंज स्थायी बैन हो गया — प्रॉक्सी प्रदाता बदलना पड़ा और रोटेशन के साथ निवासी IP पर स्विच करना पड़ा।

उत्पादों के पार्सिंग के लिए प्रॉक्सी प्रकारों की तुलना

उत्पाद विशेषताओं के पार्सिंग के लिए तीन मुख्य प्रकार की प्रॉक्सी का उपयोग किया जाता है। प्रत्येक के अपने फायदे और सीमाएँ होती हैं, जो डेटा की मात्रा, बजट और गति की आवश्यकताओं के आधार पर होती हैं।

प्रॉक्सी का प्रकार गति बैन का जोखिम लागत कब उपयोग करें
डेटा सेंटर प्रॉक्सी उच्च (50-200 मि.से) उच्च कम छोटे वॉल्यूम का पार्सिंग (10,000 उत्पाद/दिन तक), पार्सर का परीक्षण
रिज़िडेंशियल प्रॉक्सी मध्यम (200-800 मि.से) कम उच्च (ट्रैफ़िक के अनुसार) बॉट सुरक्षा के साथ Wildberries, Ozon का पार्सिंग, बड़े डेटा वॉल्यूम
मोबाइल प्रॉक्सी मध्यम (300-1000 मि.से) बहुत कम बहुत उच्च अधिकतम सुरक्षा के साथ पार्सिंग, कठोर ब्लॉकों को बायपास करना, महत्वपूर्ण प्रोजेक्ट्स

डेटा सेंटर प्रॉक्सी — ये डेटा सेंटर (AWS, Hetzner, OVH) में सर्वरों के IP पते हैं। ये तेज और सस्ते होते हैं, लेकिन मार्केटप्लेस इन्हें ASN डेटाबेस के माध्यम से आसानी से पहचान लेते हैं। ये छोटे कैटलॉग (10,000 उत्पाद प्रति दिन तक) या गंभीर सुरक्षा वाले प्लेटफार्मों के लिए उपयुक्त हैं। लागत: प्रति IP प्रति माह 1-3$ से।

रिज़िडेंशियल प्रॉक्सी — ये घरेलू उपयोगकर्ताओं के IP होते हैं, जो ऐप्स में SDK के माध्यम से कानूनी रूप से प्राप्त होते हैं। मार्केटप्लेस इन्हें सामान्य खरीदारों के रूप में मानते हैं। ये Wildberries, Ozon, Yandex.Market के बड़े वॉल्यूम के पार्सिंग के लिए आदर्श होते हैं। लागत: प्रति GB ट्रैफ़िक के लिए 5-15$ (लगभग 10,000-30,000 अनुरोध) से।

मोबाइल प्रॉक्सी — ये मोबाइल ऑपरेटरों (MTS, Beeline, MegaFon) के IP होते हैं। सुरक्षा को बायपास करने के लिए सबसे विश्वसनीय प्रकार, लेकिन महंगे और धीमे होते हैं। केवल महत्वपूर्ण कार्यों के लिए उपयोग करें, जहां ब्लॉक स्वीकार्य नहीं है। लागत: प्रति IP प्रति माह 50-150$ रोटेशन के साथ।

रिज़िडेंशियल या डेटा सेंटर: आपकी आवश्यकता के लिए क्या चुनें

प्रॉक्सी के प्रकार का चयन तीन कारकों पर निर्भर करता है: पार्सिंग का वॉल्यूम, प्लेटफॉर्म की सुरक्षा का स्तर और बजट। चलिए विशिष्ट उपयोग परिदृश्यों को देखते हैं।

जब डेटा सेंटर प्रॉक्सी उपयुक्त होते हैं

परिदृश्य 1: पार्सर का परीक्षण
आप एक नया पार्सर विकसित कर रहे हैं और डेटा निकालने की लॉजिक की जांच कर रहे हैं। आपको डिबगिंग के लिए 100-500 उत्पादों को पार्स करना है। इस मामले में, रिज़िडेंशियल प्रॉक्सी एक अतिरिक्त खर्च है। 5-10 डेटा सेंटर IP लें और प्रत्येक से प्रति घंटे 50-100 अनुरोध करें। यह परीक्षण के लिए बिना ब्लॉक के पर्याप्त होगा।

परिदृश्य 2: बिना सुरक्षा वाले प्लेटफार्मों का पार्सिंग
छोटे क्षेत्रीय मार्केटप्लेस, विज्ञापन बोर्ड जैसे Avito (कुछ श्रेणियों में), OpenCart पर इंटरनेट स्टोर अक्सर गंभीर एंटी-बॉट सिस्टम नहीं रखते हैं। यहां डेटा सेंटर मध्यम लोड (IP से प्रति घंटे 200 अनुरोध तक) पर स्थिर काम करते हैं।

परिदृश्य 3: सीमित बजट और छोटे वॉल्यूम
यदि आपको प्रति दिन 5,000-10,000 उत्पादों का पार्सिंग करना है और बजट सीमित है, तो आक्रामक रोटेशन के साथ डेटा सेंटर का प्रयास करें (हर 50-100 अनुरोध पर IP बदलें)। हां, ब्लॉकों की संख्या अधिक होगी, लेकिन सही सेटअप के साथ retry-लॉजिक (नए IP के साथ अनुरोध को दोहराना) काम करता है।

जब रिज़िडेंशियल प्रॉक्सी की आवश्यकता होती है

परिदृश्य 1: Wildberries और Ozon का पार्सिंग
ये प्लेटफार्म Cloudflare, DataDome और अपनी एंटी-बॉट सिस्टम का उपयोग करते हैं। डेटा सेंटर से आपको 20-50 अनुरोधों के बाद CAPTCHA या बैन मिलेगा। हर 5-10 मिनट में रोटेशन के साथ रिज़िडेंशियल प्रॉक्सी बिना किसी समस्या के सैकड़ों हजारों उत्पादों का पार्सिंग करने की अनुमति देती हैं। एक ग्राहक ने 1000 रिज़िडेंशियल IP के पूल का उपयोग करके एक सप्ताह में Wildberries का पूरा कैटलॉग (20+ मिलियन उत्पाद) पार्स किया।

परिदृश्य 2: प्रमाणीकरण के साथ पार्सिंग
कुछ उत्पाद विशेषताएँ (थोक मूल्य, गोदामों में शेष) केवल प्रमाणित उपयोगकर्ताओं के लिए उपलब्ध हैं। यदि आप खाते के माध्यम से पार्स कर रहे हैं, तो डेटा सेंटर का उपयोग करने से खाते का ब्लॉक हो जाएगा। रिज़िडेंशियल प्रॉक्सी वास्तविक उपयोगकर्ता की क्रियाओं की नकल करती हैं, जिससे बैन का जोखिम कम होता है।

परिदृश्य 3: भू-लक्षित करना
Wildberries, Ozon, Yandex.Market पर उत्पादों की कीमतें और उपलब्धता उपयोगकर्ता के क्षेत्र पर निर्भर करती हैं। एक साथ मास्को, सेंट पीटर्सबर्ग, येकातेरिनबर्ग के डेटा को इकट्ठा करने के लिए, शहर के चयन के साथ रिज़िडेंशियल प्रॉक्सी की आवश्यकता होती है। डेटा सेंटर सटीक भू-स्थान को नियंत्रित करने की अनुमति नहीं देते हैं।

प्रॉक्सी के प्रकार का चयन करने का सूत्र:

  • वॉल्यूम < 10,000 उत्पाद/दिन + कोई कठोर सुरक्षा नहीं = डेटा सेंटर
  • वॉल्यूम > 10,000 उत्पाद/दिन + Wildberries/Ozon = रिज़िडेंशियल
  • प्रमाणीकरण के साथ पार्सिंग + खाते का बैन होने का जोखिम = रिज़िडेंशियल
  • रूस के शहरों के लिए भू-लक्षित करना आवश्यक है = रिज़िडेंशियल
  • महत्वपूर्ण प्रोजेक्ट + ब्लॉकों के लिए शून्य सहिष्णुता = मोबाइल

IP रोटेशन सेटअप: अंतराल और रणनीतियाँ

IP रोटेशन — यह एक निश्चित संख्या में अनुरोधों या समय के बाद प्रॉक्सी सर्वर का स्वचालित परिवर्तन है। सही रोटेशन सेटअप बिना ब्लॉकों के स्थिर पार्सिंग की कुंजी है।

प्रॉक्सी रोटेशन के प्रकार

1. समय के अनुसार रोटेशन (Time-based rotation)
IP एक निश्चित अंतराल पर बदलता है: 5 मिनट, 10 मिनट, 30 मिनट। यह सबसे सरल विधि है, लेकिन सबसे प्रभावी नहीं है। यदि आप 5 मिनट में 200 अनुरोध करते हैं, और प्लेटफॉर्म की सीमा — IP से 100 अनुरोध है, तो आपको फिर भी बैन मिलेगा।

कब उपयोग करें: कम लोड वाले रिज़िडेंशियल प्रॉक्सी के लिए (IP पर 50 अनुरोध तक)। उदाहरण के लिए, Wildberries का पार्सिंग करते समय अनुरोधों के बीच 3-5 सेकंड का अंतराल — 10 मिनट में रोटेशन सबसे अच्छा होगा।

2. अनुरोधों की संख्या के अनुसार रोटेशन (Request-based rotation)
IP N अनुरोधों के बाद बदलता है: 50, 100, 200। यह समय आधारित रोटेशन की तुलना में अधिक सटीक है, लेकिन पार्सर के कोड में अनुरोधों की गिनती को ट्रैक करने की आवश्यकता होती है।

कब उपयोग करें: डेटा सेंटर और आक्रामक पार्सिंग के लिए। उदाहरण के लिए, आप जानते हैं कि Ozon IP से 80 अनुरोधों के बाद ब्लॉक करता है — रोटेशन को 70 अनुरोधों पर सेट करें।

3. प्रत्येक अनुरोध पर रोटेशन (Per-request rotation)
प्रत्येक अनुरोध एक नए IP के माध्यम से जाता है। ब्लॉकों के खिलाफ अधिकतम सुरक्षा, लेकिन रिज़िडेंशियल प्रॉक्सी के लिए सबसे महंगी रणनीति (नए कनेक्शन स्थापित करने के कारण ट्रैफ़िक की खपत बढ़ती है)।

कब उपयोग करें: सबसे कठोर सुरक्षा (Cloudflare "Under Attack" मोड) को बायपास करने के लिए, बैन के उच्च जोखिम वाले खातों के साथ पार्सिंग, प्रतिस्पर्धियों के डेटा संग्रह के लिए जो पार्सिंग को ट्रैक करते हैं।

लोकप्रिय प्लेटफार्मों के लिए अनुशंसित रोटेशन अंतराल

प्लेटफॉर्म प्रॉक्सी का प्रकार रोटेशन का अंतराल अनुरोधों के बीच देरी
Wildberries रिज़िडेंशियल हर 5-10 मिनट या 50 अनुरोध 2-4 सेकंड
Ozon रिज़िडेंशियल हर 7-12 मिनट या 60 अनुरोध 3-5 सेकंड
Yandex.Market रिज़िडेंशियल हर 10-15 मिनट या 80 अनुरोध 2-3 सेकंड
Avito (उत्पाद श्रेणी) डेटा सेंटर हर 15-20 मिनट या 100 अनुरोध 1-2 सेकंड
AliExpress रिज़िडेंशियल हर 3-5 मिनट या 30 अनुरोध 4-6 सेकंड

महत्वपूर्ण बिंदु: ये आंकड़े 2024 में परीक्षण के परिणाम हैं। मार्केटप्लेस लगातार सुरक्षा को अपडेट करते हैं, इसलिए सलाह दी जाती है कि आप संवेदनशील सेटिंग्स (कम अनुरोध, अधिक देरी) से शुरू करें और धीरे-धीरे लोड बढ़ाएं, ब्लॉकों के प्रतिशत को ट्रैक करते हुए।

"स्मार्ट" रोटेशन की रणनीति

निश्चित अंतराल के बजाय, सर्वर के उत्तरों के आधार पर अनुकूलन रोटेशन का उपयोग करें:

  • HTTP 429 (Too Many Requests) — तुरंत IP बदलें और इस IP को 30-60 मिनट के लिए ब्लैकलिस्ट में डालें।
  • HTTP 403 (Forbidden) या CAPTCHA — IP बदलें और अनुरोधों के बीच देरी को 50% बढ़ाएं।
  • HTTP 503 (Service Unavailable) — समस्या संभवतः प्रॉक्सी में नहीं है, बल्कि साइट की ओवरलोडिंग में है। IP बदले बिना 30-60 सेकंड का ब्रेक लें।
  • सफल अनुरोधों की श्रृंखला > 100 — आप देरी को थोड़ा कम कर सकते हैं या रोटेशन से पहले अनुरोधों की संख्या बढ़ा सकते हैं।

यह लॉजिक पार्सर के कोड में लागू होती है और अनावश्यक रोटेशन से बचते हुए प्रॉक्सी ट्रैफ़िक में 30-40% तक की बचत करने की अनुमति देती है।

Wildberries, Ozon और Yandex.Market की एंटी-बॉट सिस्टम को बायपास करना

आधुनिक मार्केटप्लेस बहुस्तरीय सुरक्षा का उपयोग करते हैं: सरल User-Agent जांच से लेकर उन्नत ब्राउज़र फिंगरप्रिंटिंग तक। केवल प्रॉक्सी पर्याप्त नहीं हैं — एक समग्र बायपास रणनीति की आवश्यकता है।

स्तर 1: सही HTTP हेडर

न्यूनतम हेडर सेट, जो आपके पार्सर को भेजना चाहिए:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Cache-Control: max-age=0

महत्वपूर्ण बिंदु:

  • User-Agent को वास्तविक ब्राउज़र के अनुरूप होना चाहिए। वर्तमान Chrome 120+, Firefox 121+ के संस्करणों का उपयोग करें। पुराने संस्करणों (Chrome 90) का उपयोग न करें — यह एक लाल झंडा है।
  • Accept-Language को रूसी प्लेटफार्मों के लिए "ru-RU" होना चाहिए। यदि आप "en-US" हेडर के साथ पार्स करते हैं, तो साइट असंगति को समझती है (IP रूस से, लेकिन भाषा अंग्रेजी)।
  • Sec-Fetch-* हेडर Chrome 76+ में आए हैं और आधुनिक साइटों के लिए अनिवार्य हैं। इनकी अनुपस्थिति एक पुराने पार्सर का संकेत देती है।

स्तर 2: JavaScript का निष्पादन

Wildberries और Ozon कीमतें, विशेषताएँ, शेष मात्रा को पृष्ठ लोड होने के बाद JavaScript के माध्यम से लोड करते हैं। यदि आपका पार्सर requests/curl के माध्यम से केवल HTML डाउनलोड करता है, तो उसे एक खाली पृष्ठ या प्लग मिलेगी।

समाधान: Headless-ब्राउज़र का उपयोग करें — Puppeteer (Node.js), Playwright (Python/Node.js), Selenium। ये पूरी तरह से पृष्ठ को रेंडर करते हैं, JS को निष्पादित करते हैं और अंतिम HTML प्राप्त करते हैं।

Headless-ब्राउज़र की समस्या: साइटें उन्हें navigator.webdriver === true जैसे पैरामीटर, प्लगइन्स की अनुपस्थिति, Canvas के विशिष्ट आकारों के माध्यम से आसानी से पहचान लेती हैं। Headless Chrome की पहचान का प्रतिशत लगभग 80-90% है।

समस्या का समाधान: स्टेल्थ मोड के लिए पुस्तकालयों का उपयोग करें:

  • puppeteer-extra-plugin-stealth (Node.js) — Puppeteer को सामान्य Chrome के रूप में छुपाता है, 30+ फिंगरप्रिंट पैरामीटर को पैच करता है।
  • undetected-chromedriver (Python) — Selenium ChromeDriver का पैच किया गया संस्करण, जिसे अधिकांश एंटी-बॉट सिस्टम पहचान नहीं करते।
  • playwright-stealth (Python) — Firefox और WebKit का समर्थन करने वाला Playwright के लिए एक समान।

स्तर 3: Cloudflare और DataDome को बायपास करना

Wildberries Cloudflare Bot Management का उपयोग करता है, Ozon — DataDome। ये सिस्टम केवल IP और हेडर का विश्लेषण नहीं करते, बल्कि व्यवहार का भी विश्लेषण करते हैं: स्क्रॉलिंग की गति, माउस की गति, पृष्ठ लोडिंग का समय।

Cloudflare Challenge के संकेत: सामग्री के बजाय आप "Checking your browser..." के साथ 5 सेकंड की देरी वाला पृष्ठ देखते हैं। कोड में यह एक JavaScript-challenge है, जो ब्राउज़र की जांच करता है।

कैसे बायपास करें:

  • FlareSolverr — एक प्रॉक्सी सेवा, जो Cloudflare Challenge को स्वचालित रूप से हल करती है। आप इसे URL भेजते हैं, यह बायपास के लिए कुकीज़ लौटाता है। यह 70-80% मामलों में काम करता है।
  • Playwright के साथ प्रतीक्षा — आप एक headless-ब्राउज़र में पृष्ठ लोड करते हैं, 10-15 सेकंड प्रतीक्षा करते हैं (जब तक JS निष्पादित नहीं होता), कुकीज़ निकालते हैं और उन्हें सामान्य HTTP अनुरोधों में उपयोग करते हैं। यह संसाधनों की बचत करता है: ब्राउज़र केवल कुकीज़ प्राप्त करने के लिए आवश्यक है, इसके बाद आप requests के माध्यम से पार्स करते हैं।
  • रिज़िडेंशियल प्रॉक्सी + स्टेल्थ-ब्राउज़र — यह संयोजन 95%+ सफल बायपास देता है। Cloudflare वास्तविक उपयोगकर्ता के IP और सही ब्राउज़र के फिंगरप्रिंट को देखता है।

महत्वपूर्ण: Cloudflare लगातार सुरक्षा को अपडेट करता है। जो दिसंबर 2024 में काम करता था, वह मार्च 2025 में काम नहीं कर सकता। हमेशा एक बैकअप योजना रखें: 2Captcha/AntiCaptcha सेवाओं के माध्यम से मैन्युअल CAPTCHA समाधान या मार्केटप्लेस API पर स्विच करना (यदि उपलब्ध हो)।

स्तर 4: उपयोगकर्ता के व्यवहार की नकल करना

उन्नत एंटी-बॉट सिस्टम व्यवहार पैटर्न को ट्रैक करते हैं। एक वास्तविक उपयोगकर्ता पृष्ठ को स्क्रॉल करता है, माउस को हिलाता है, कभी-कभी पीछे लौटता है। बॉट उत्पाद कार्ड को 2.000 सेकंड के आदर्श अंतराल पर खोलता है।

कैसे नकल करें:

  • देरी की यादृच्छिकता — निश्चित 3 सेकंड के बजाय random.uniform(2.5, 5.0) का उपयोग करें। दुर्लभ लंबे ब्रेक (15-30 सेकंड) जोड़ें, उपयोगकर्ता के विचलन की नकल करते हुए।
  • पृष्ठ को स्क्रॉल करना — Puppeteer/Playwright में डेटा निकालने से पहले स्क्रॉलिंग जोड़ें: await page.evaluate(() => window.scrollBy(0, 500)).
  • माउस की गति — Puppeteer के लिए ghost-cursor पुस्तकालय वास्तविक माउस कर्सर की गति उत्पन्न करता है।
  • खोज के माध्यम से नेविगेट करना — सीधे URL द्वारा उत्पाद कार्ड न खोलें। पहले मुख्य पृष्ठ पर जाएं, खोज करें, परिणामों में उत्पाद पर क्लिक करें। यह स्वाभाविक लगता है।

प्रॉक्सी समर्थन के साथ पार्सिंग के लिए लोकप्रिय उपकरण

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

Octoparse — बिना कोड का पार्सर

विवरण: Windows/Mac के लिए डेस्कटॉप एप्लिकेशन जिसमें पार्सर के लिए दृश्य निर्माता है। आप पृष्ठ के तत्वों (उत्पाद का नाम, कीमत, विशेषताएँ) पर क्लिक करते हैं, प्रोग्राम स्वचालित रूप से निकासी नियम बनाता है।

प्रॉक्सी का समर्थन: अंतर्निहित। सेटिंग्स में आप प्रॉक्सी की सूची निर्दिष्ट करते हैं, प्रोग्राम स्वचालित रूप से उन्हें रोटेट करता है। HTTP, HTTPS, SOCKS5 का समर्थन करता है। Bright Data, Smartproxy के प्रदाताओं के साथ एकीकरण है।

फायदे: कोड की आवश्यकता नहीं, JavaScript साइटों के साथ काम करता है, अंतर्निहित कार्य योजना, Excel/CSV/JSON में निर्यात।
नुकसान: 75$/माह से भुगतान की सदस्यता, Python कोड की तुलना में धीमा, मुफ्त संस्करण में पृष्ठों की संख्या पर सीमाएँ।

कब उपयोग करें: छोटे प्रोजेक्ट्स (50,000 उत्पादों तक) के लिए, यदि आप प्रोग्रामर नहीं हैं या त्वरित प्रोटोटाइप की आवश्यकता है।

ParseHub — क्लाउड पार्सर

विवरण: Octoparse का समान, लेकिन क्लाउड में काम करता है। आप डेस्कटॉप एप्लिकेशन में पार्सर सेट करते हैं, और यह ParseHub के सर्वरों पर चलता है। लंबे कार्यों (100,000+ उत्पादों का पार्सिंग) के लिए सुविधाजनक।

प्रॉक्सी का समर्थन: केवल भुगतान योजनाओं में (149$/माह से)। आप अपनी प्रॉक्सी सूची अपलोड कर सकते हैं या ParseHub के अंतर्निहित निवासी IP का उपयोग कर सकते हैं।

फायदे: आपके कंप्यूटर पर लोड नहीं डालता, स्वचालित पेजिनेशन प्रोसेसिंग, एकीकरण के लिए API।
नुकसान: महंगा, धीमी समर्थन, जटिल साइटों के लिए सेटअप में कठिनाई।

Scrapy (Python) — प्रोग्रामरों के लिए

विवरण: Python में पार्सर्स बनाने के लिए एक फ्रेमवर्क। सबसे लचीला और तेज़ विकल्प — आप प्रति दिन लाखों उत्पादों का पार्स कर सकते हैं। मध्यम स्तर पर Python का ज्ञान आवश्यक है।

प्रॉक्सी का समर्थन: मिडलवेयर के माध्यम से। लोकप्रिय समाधान: scrapy-rotating-proxies (सूची से रोटेशन), scrapy-proxy-pool (प्रदाताओं के API के साथ एकीकरण)। सेटअप में 10-15 मिनट लगते हैं।

फायदे: मुफ्त, बहुत तेज़ (असिंक्रोनस अनुरोध), लॉजिक पर पूर्ण नियंत्रण, विशाल समुदाय।
नुकसान: कोड लिखना आवश्यक है, JavaScript साइटों के साथ कठिनाई (Splash या Playwright के साथ एकीकरण की आवश्यकता होती है)।

कब उपयोग करें: गंभीर प्रोजेक्ट्स के लिए जिनका वॉल्यूम 100,000+ उत्पादों का हो, यदि आपकी टीम में प्रोग्रामर हो।

Apify — तैयार पार्सर्स का मार्केटप्लेस

विवरण: लोकप्रिय साइटों के लिए हजारों तैयार पार्सर्स (जिन्हें "अभिनेता" कहा जाता है) वाला प्लेटफॉर्म। Amazon, eBay, AliExpress के लिए तैयार समाधान हैं। रूसी मार्केटप्लेस के लिए चयन कम है, लेकिन आप विकास का आदेश दे सकते हैं।

प्रॉक्सी का समर्थन: सभी अभिनेताओं में अंतर्निहित। Apify अपनी निवासी प्रॉक्सी प्रदान करता है (ट्रैफ़िक के अनुसार भुगतान) या आप अपनी प्रॉक्सी कनेक्ट कर सकते हैं।

फायदे: तैयार समाधान, क्लाउड निष्पादन, स्वचालन के लिए API, अंतर्निहित प्रॉक्सी।
नुकसान: महंगा (49$/माह से + प्रॉक्सी का भुगतान), प्लेटफॉर्म पर निर्भरता, अनुकूलन पर सीमाएँ।

उपकरणों की तुलना

उपकरण क्या कोड की आवश्यकता है? कीमत गति किसके लिए
Octoparse नहीं 75$/माह से मध्यम बिना प्रोग्रामिंग के मार्केटर्स, विश्लेषक
ParseHub नहीं 149$/माह से मध्यम जो लोग क्लाउड निष्पादन चाहते हैं
Scrapy हाँ (Python) मुफ्त बहुत तेज़ प्रोग्रामर, बड़े डेटा वॉल्यूम
Apify नहीं (तैयार अभिनेता) 49$/माह + ट्रैफ़िक उच्च व्यवसाय, जिन्हें तैयार समाधान की आवश्यकता है
Puppeteer/Playwright हाँ (JS/Python) मुफ्त मध्यम (भारी ब्राउज़र) प्रोग्रामर, जटिल JS साइटें

पार्सर में प्रॉक्सी का चरण-दर-चरण सेटअप

लोकप्रिय उपकरणों के उदाहरण के साथ प्रॉक्सी का व्यावहारिक सेटअप देखें। ये निर्देश किसी भी मार्केटप्लेस के पार्सिंग के लिए उपयुक्त हैं, केवल रूसी नहीं।

Octoparse में सेटअप

चरण 1: Octoparse खोलें और एक नई पार्सिंग टास्क बनाएं। प्रारंभिक पृष्ठ का URL दर्ज करें (उदाहरण के लिए, Wildberries पर उत्पाद श्रेणी)।

चरण 2: "Settings" → "Advanced Settings" → "Proxy" मेनू पर जाएं। "Use custom proxy" चुनें।

चरण 3: प्रॉक्सी को निम्नलिखित प्रारूप में जोड़ें:

http://username:password@proxy-server.com:8080
socks5://username:password@proxy-server.com:1080

चरण 4: "Rotate proxy" विकल्प को सक्षम करें और रोटेशन का अंतराल सेट करें। Wildberries के लिए "Rotate on every 50 requests" या "Rotate every 10 minutes" की सिफारिश की जाती है।

चरण 5: "Test Proxy" पर क्लिक करें — Octoparse प्रत्येक प्रॉक्सी की उपलब्धता की जांच करेगा। सूची से गैर-कार्यात्मक को हटा दें।

चरण 6: "Speed" अनुभाग में अनुरोधों के बीच देरी सेट करें: निवासी प्रॉक्सी के लिए 2-4 सेकंड, डेटा सेंटर के लिए 3-5 सेकंड।

Scrapy (Python) में सेटअप

चरण 1: प्रॉक्सी रोटेशन के लिए पुस्तकालय स्थापित करें:

pip install scrapy-rotating-proxies

चरण 2: प्रॉक्सी की सूची के साथ proxies.txt नामक फ़ाइल बनाएं (प्रत्येक पंक्ति में एक):

http://user:pass@1.2.3.4:8080
http://user:pass@5.6.7.8:8080
socks5://user:pass@9.10.11.12:1080

चरण 3: अपने Scrapy प्रोजेक्ट की settings.py फ़ाइल में जोड़ें:

ROTATING_PROXY_LIST_PATH = 'proxies.txt'

DOWNLOADER_MIDDLEWARES = {
    'rotating_proxies.middlewares.RotatingProxyMiddleware': 610,
    'rotating_proxies.middlewares.BanDetectionMiddleware': 620,
}

# अनुरोधों के बीच देरी (सेकंड में)
DOWNLOAD_DELAY = 3

# देरी की यादृच्छिकता (±50%)
RANDOMIZE_DOWNLOAD_DELAY = True

# समानांतर अनुरोध (रिज़िडेंशियल प्रॉक्सी के लिए 16 से अधिक नहीं)
CONCURRENT_REQUESTS = 8

चरण 4: Scrapy प्रत्येक अनुरोध पर प्रॉक्सी को स्वचालित रूप से रोटेट करेगा। यदि प्रॉक्सी त्रुटि (HTTP 403, 429, टाइमआउट) लौटाती है, तो इसे "खराब" के रूप में चिह्नित किया जाता है और अस्थायी रूप से रोटेशन से बाहर रखा जाता है।

Puppeteer (Node.js) में सेटअप

चरण 1: Puppeteer और स्टेल्थ मोड के लिए प्लगइन स्थापित करें:

npm install puppeteer puppeteer-extra puppeteer-extra-plugin-stealth

चरण 2: प्रॉक्सी का समर्थन करने वाला स्क्रिप्ट बनाएं:

const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());

const proxyList = [
  'http://user:pass@proxy1.com:8080',
  'http://user:pass@proxy2.com:8080'
];

let currentProxyIndex = 0;

async function scrapeWithProxy(url) {
  const proxy = proxyList[currentProxyIndex];
  currentProxyIndex = (currentProxyIndex + 1) % proxyList.length;

  const browser = await puppeteer.launch({
    headless: true,
    args: [`--proxy-server=${proxy}`]
  });

  const page = await browser.newPage();
  
  // प्रॉक्सी प्रमाणीकरण (यदि आवश्यक हो)
  await page.authenticate({
    username: 'user',
    password: 'pass'
  });

  await page.goto(url, { waitUntil: 'networkidle2' });
  
  // डेटा निकालना
  const data = await page.evaluate(() => {
    return {
      title: document.querySelector('.product-title')?.innerText,
      price: document.querySelector('.product-price')?.innerText,
      // अन्य डेटा निकालें
    };
  });

  await browser.close();
  return data;
}
```