Amazon दुनिया के सबसे सुरक्षित मार्केटप्लेस में से एक है। इसका एंटी-बॉट सिस्टम कीमतों, स्टॉक और उत्पादों की स्थिति के बारे में डेटा संग्रह के 90% प्रयासों को ब्लॉक करता है। विक्रेताओं और मार्केटर्स के लिए यह एक महत्वपूर्ण समस्या है: प्रतिस्पर्धियों के अद्यतन डेटा के बिना मूल्य निर्धारण रणनीति को समायोजित करना और लाभदायक बने रहना असंभव है।
इस मार्गदर्शिका में, हम Amazon की सुरक्षा के तकनीकी तंत्र का विश्लेषण करेंगे, एंटी-बॉट को बायपास करने के सिद्ध तरीके दिखाएंगे और एक मूल्य निगरानी प्रणाली सेट करेंगे, जो महीनों तक बिना ब्लॉक के स्थिरता से काम करती है।
Amazon पार्सिंग को क्यों ब्लॉक करता है: सुरक्षा के तंत्र
Amazon पार्सिंग के कारण लाखों डॉलर खोता है: प्रतिस्पर्धी उत्पादों के डेटा, कीमतों, समीक्षाओं की नकल करते हैं, और बेईमान विक्रेता स्वचालन का उपयोग करके रैंकिंग को बढ़ाते हैं। इसलिए कंपनी एंटी-बॉट सिस्टम में भारी निवेश करती है, जो एक साथ कई स्तरों पर काम करते हैं।
Amazon की सुरक्षा के मुख्य घटक:
- AWS WAF (वेब एप्लिकेशन फ़ायरवॉल) — आने वाले ट्रैफ़िक का विश्लेषण करता है और नेटवर्क स्तर पर संदिग्ध IP पतों को ब्लॉक करता है। अनुरोधों की आवृत्ति, भूगोल, IP की प्रतिष्ठा को ट्रैक करता है।
- Cloudfront CDN — बॉट फ़िल्टरिंग के अपने एल्गोरिदम के साथ सामग्री वितरण का वितरित नेटवर्क। अनुरोधों के हेडर, कुकीज़, ब्राउज़र के TLS फ़िंगरप्रिंट की जांच करता है।
- Bot Management प्रणाली — उपयोगकर्ताओं के व्यवहार का विश्लेषण करने के लिए मशीन लर्निंग का उपयोग करता है। माउस मूवमेंट, स्क्रॉलिंग की गति, क्लिक पैटर्न को ट्रैक करता है।
- CAPTCHA और चुनौती पृष्ठ — संदिग्ध गतिविधि पर प्रदर्शित होते हैं। आगे बढ़ने के लिए पहेली को हल करने या CAPTCHA दर्ज करने की आवश्यकता होती है।
- Rate limiting — एक IP से अनुरोधों की संख्या पर सख्त सीमाएँ: आमतौर पर लॉगिन न किए गए उपयोगकर्ताओं के लिए प्रति मिनट 10-20 अनुरोध।
ये सभी सिस्टम एक साथ काम करते हैं और डेटा का आदान-प्रदान करते हैं। यदि इनमें से कोई भी बॉट को संदिग्ध मानता है — IP को 24-48 घंटों के लिए ब्लैकलिस्ट में डाल दिया जाता है, और कभी-कभी हमेशा के लिए।
महत्वपूर्ण: Amazon विभिन्न क्षेत्रों और उपयोगकर्ता प्रकारों के लिए विभिन्न कीमतें दिखाता है। ब्लॉक करना केवल पहुंच की कमी नहीं है, बल्कि अप्रचलित डेटा प्राप्त करना भी है, जो प्रतिस्पर्धियों की निगरानी के लिए महत्वपूर्ण है।
Amazon बॉट्स को कैसे पहचानता है: 7 मुख्य संकेत
Amazon का एंटी-बॉट सिस्टम प्रत्येक अनुरोध के दर्जनों मापदंडों का विश्लेषण करता है। यहाँ कुछ प्रमुख संकेत हैं, जिनसे यह स्वचालन को पहचानता है:
1. IP पते की प्रतिष्ठा
Amazon डेटा सेंटर, VPN सेवाओं, सार्वजनिक प्रॉक्सी के IP पतों का एक डेटाबेस रखता है। ऐसे पतों से अनुरोधों को अधिक ध्यान मिलता है या तुरंत ब्लॉक किया जाता है। सिस्टम सक्रियता के इतिहास को भी ट्रैक करता है: यदि IP से उत्पाद पृष्ठों पर बहुत अधिक अनुरोध आ रहे हैं — यह संदिग्ध है।
क्या जांचा जाता है: प्रसिद्ध डेटा सेंटर (AWS, Google Cloud, DigitalOcean) से संबंधितता, सार्वजनिक प्रॉक्सी के डेटाबेस में उपस्थिति, पिछले घंटे में अनुरोधों की संख्या, भूगोल (अप्रत्याशित देशों से अनुरोध)।
2. User-Agent और HTTP हेडर
कई पार्सर मानक User-Agent पुस्तकालयों का उपयोग करते हैं: python-requests/2.28.0 या इस हेडर को भेजते ही नहीं हैं। Amazon तुरंत ऐसे अनुरोधों को पहचानता है।
संदिग्ध संकेत: Accept-Language, Accept-Encoding हेडर का अभाव; User-Agent और अन्य हेडरों का असंगत होना (उदाहरण के लिए, Chrome User-Agent, लेकिन हेडर Firefox के जैसे); पृष्ठों के बीच जाने पर Referer का अभाव; पुराने ब्राउज़र के संस्करण।
3. TLS/SSL फ़िंगरप्रिंटिंग
HTTPS कनेक्शन स्थापित करते समय, ब्राउज़र एन्क्रिप्शन के मापदंडों का एक सेट भेजता है (cipher suites, extensions, TLS का संस्करण)। यह सेट प्रत्येक ब्राउज़र के लिए अद्वितीय होता है। requests या curl जैसी पुस्तकालयों के फ़िंगरप्रिंट वास्तविक ब्राउज़रों से भिन्न होते हैं — Amazon इसे देखता है।
4. JavaScript और Canvas फ़िंगरप्रिंटिंग
Amazon JavaScript कोड लोड करता है, जो ब्राउज़र के बारे में जानकारी एकत्र करता है: स्क्रीन का संकल्प, स्थापित फ़ॉन्ट, समर्थित WebGL फ़ंक्शन, Canvas के मापदंड। साधारण HTTP क्लाइंट JavaScript को निष्पादित नहीं करते हैं और तुरंत खुद को उजागर करते हैं।
5. कुकीज़ और सत्र
Amazon पहले दौरे पर कई कुकीज़ स्थापित करता है: session-id, ubid-main, x-main और अन्य। इन कुकीज़ का अभाव या उनके गलत मान बॉट का संकेत है। सिस्टम सत्र की जीवनकाल को भी ट्रैक करता है: वास्तविक उपयोगकर्ता 30 सेकंड में 100 अनुरोध नहीं करता है।
6. व्यवहार के पैटर्न
एक वास्तविक व्यक्ति मुख्य पृष्ठ खोलता है, उत्पाद की खोज करता है, श्रेणियों के बीच जाता है, विवरण पढ़ता है, वापस लौटता है। बॉट तुरंत निर्दिष्ट उत्पादों के URL को बिना किसी देरी के आदर्श क्रम में मांगता है।
संदिग्ध पैटर्न: केवल उत्पाद पृष्ठों के लिए अनुरोध बिना मुख्य पृष्ठ पर गए; URL का आदर्श क्रम (product1, product2, product3...); स्थिर सामग्री (छवियाँ, CSS, JS) के लिए अनुरोधों का अभाव; अनुरोधों के बीच समान अंतराल।
7. अनुरोधों की आवृत्ति
वास्तविक ब्राउज़र के आदर्श अनुकरण के साथ भी, बहुत अधिक अनुरोधों की आवृत्ति बॉट को उजागर कर देगी। Amazon प्रति मिनट, घंटे, दिन के लिए IP से अनुरोधों की संख्या को ट्रैक करता है। सीमाओं का उल्लंघन (आमतौर पर मेहमानों के लिए 10-20 अनुरोध/मिनट) ब्लॉकिंग का कारण बनता है।
एंटी-बॉट को बायपास करने के लिए प्रॉक्सी का चयन: रेजिडेंटियल बनाम डेटा सेंटर
प्रॉक्सी के प्रकार का सही चयन Amazon की सुरक्षा को बायपास करने में 70% सफलता है। हम तीन मुख्य प्रकारों और उनके मार्केटप्लेस पार्सिंग के लिए उपयुक्तता का विश्लेषण करेंगे।
| प्रॉक्सी का प्रकार | Amazon की विश्वास स्तर | गति | उपयोग |
|---|---|---|---|
| रेजिडेंटियल | बहुत उच्च (वास्तविक घरेलू उपयोगकर्ताओं के IP) | मध्यम (50-150 मि.सेक.) | मुख्य पार्सिंग, उच्च मात्रा |
| मोबाइल | अधिकतम (मोबाइल ऑपरेटरों के IP) | कम (200-500 मि.सेक.) | कठोर ब्लॉकों को बायपास करना, खाते |
| डेटा सेंटर | कम (Amazon इन IP को जानता है) | बहुत उच्च (10-30 मि.सेक.) | परीक्षण, एक बार के कार्य |
रेजिडेंटियल प्रॉक्सी — सबसे अच्छा विकल्प
Amazon की स्थिर पार्सिंग के लिए रेजिडेंटियल प्रॉक्सी की सिफारिश की जाती है — ये वास्तविक घरेलू उपयोगकर्ताओं के IP पतों का उपयोग करते हैं, जिन्हें Amazon बड़े पैमाने पर ब्लॉक नहीं कर सकता है बिना वास्तविक खरीदारों को ब्लॉक किए।
Amazon के लिए रेजिडेंटियल प्रॉक्सी के लाभ:
- IP इंटरनेट सेवा प्रदाताओं (Comcast, AT&T, Verizon अमेरिका में) के हैं, न कि डेटा सेंटर के
- ब्लॉक होने की दर कम: सही रोटेशन सेटिंग के साथ 2% से कम
- भूगोल का चयन करने की क्षमता: USA, UK, Germany और अन्य देशों के लिए स्थानीय कीमतें प्राप्त करना
- स्टिकी सत्रों का समर्थन: एक IP को वास्तविक उपयोगकर्ता का अनुकरण करने के लिए 10-30 मिनट तक उपयोग किया जा सकता है
रेजिडेंटियल प्रॉक्सी का चयन करते समय महत्वपूर्ण पैरामीटर:
- IP पूल का आकार: प्रभावी रोटेशन के लिए न्यूनतम 1 मिलियन पते
- भूगोल: उस देश का चयन करें जहाँ Amazon काम करता है (USA, UK, Germany, Japan आदि)
- रोटेशन का प्रकार: 10-30 मिनट के जीवनकाल के साथ स्टिकी सत्रों का समर्थन
- प्रोटोकॉल: विभिन्न उपकरणों के साथ संगतता के लिए HTTP/HTTPS और SOCKS5
मोबाइल प्रॉक्सी का उपयोग कब करें
मोबाइल प्रॉक्सी मोबाइल ऑपरेटरों (4G/5G) के IP का उपयोग करते हैं। Amazon ऐसे पतों को लगभग कभी ब्लॉक नहीं करता है, क्योंकि एक IP के पीछे हजारों वास्तविक उपयोगकर्ता हो सकते हैं CGNAT तकनीक के कारण।
मोबाइल प्रॉक्सी का चयन करने के लिए:
- Amazon विक्रेताओं के खातों के साथ काम करना (Seller Central) — उनके लिए IP की स्थिरता महत्वपूर्ण है
- रेजिडेंटियल IP के बैन के बाद कठोर ब्लॉकों को बायपास करना
- प्राधिकरण के साथ पार्सिंग (उदाहरण के लिए, प्राइम सब्सक्राइबर्स के लिए कीमतें)
- छोटे डेटा वॉल्यूम (दिन में 1000 उत्पादों तक) — मोबाइल प्रॉक्सी महंगे होते हैं
मोबाइल प्रॉक्सी का नकारात्मक पहलू — उच्च लागत और मोबाइल नेटवर्क की विशेषताओं के कारण कम गति। हजारों उत्पादों की बड़े पैमाने पर पार्सिंग के लिए वे प्रभावी नहीं हैं।
डेटा सेंटर क्यों उपयुक्त नहीं हैं
डेटा सेंटर प्रॉक्सी AWS, Google Cloud, DigitalOcean के सर्वरों के IP का उपयोग करते हैं। Amazon तुरंत ऐसे पतों को पहचानता है — ये डेटा सेंटर के ASN (स्वायत्त सिस्टम) के डेटाबेस में होते हैं।
डेटा सेंटर के उपयोग में समस्याएँ: 5-10 अनुरोधों के बाद ब्लॉक होना; लगातार CAPTCHA; पुरानी कीमतों या खाली पृष्ठों को दिखाना; कुछ प्रयासों के बाद IP को हमेशा के लिए बैन करना।
एकमात्र स्थिति जब डेटा सेंटर का उपयोग किया जा सकता है — रेजिडेंटियल प्रॉक्सी पर लॉन्च करने से पहले छोटे संख्या में उत्पादों (10-20) पर पार्सर का परीक्षण करना।
IP पते की रोटेशन रणनीति: आवृत्ति और भूगोल
रेजिडेंटियल प्रॉक्सी के साथ भी, गलत IP रोटेशन ब्लॉकों का कारण बनेगा। Amazon प्रत्येक पते के व्यवहार को ट्रैक करता है और उन पते को बैन करता है जो बहुत अधिक अनुरोध करते हैं या संदिग्ध व्यवहार करते हैं।
रोटेशन की आदर्श आवृत्ति
रोटेशन के लिए दो दृष्टिकोण हैं: प्रत्येक अनुरोध के बाद (rotating proxies) और निश्चित जीवनकाल के साथ (sticky sessions)। Amazon के लिए दूसरा विकल्प अधिक प्रभावी है।
स्टिकी सत्रों की अनुशंसित रणनीति:
- IP का जीवनकाल: 10-15 मिनट — वास्तविक उपयोगकर्ता के अनुकरण और ब्लॉकिंग के जोखिम के बीच का आदर्श संतुलन
- IP पर अनुरोधों की संख्या: सत्र के जीवनकाल में 15-20 अनुरोधों से अधिक नहीं
- अनुरोधों के बीच की देरी: 3-7 सेकंड (यादृच्छिक, निश्चित नहीं!)
- व्यवहार का अनुकरण: पहला अनुरोध — मुख्य पृष्ठ या श्रेणी, फिर — उत्पाद पृष्ठ
एक IP के लिए परिदृश्य का उदाहरण: Amazon.com खोलें → 5 सेकंड प्रतीक्षा करें → इलेक्ट्रॉनिक्स श्रेणी खोलें → 4 सेकंड प्रतीक्षा करें → उत्पाद 1 खोलें → 6 सेकंड प्रतीक्षा करें → उत्पाद 2 खोलें → ... → 15 अनुरोधों के बाद IP बदलें।
उच्च लोड के लिए सुझाव:
यदि आपको प्रति घंटे हजारों उत्पादों की पार्सिंग करनी है, तो विभिन्न IP के साथ 50-100 समवर्ती सत्रों का पूल का उपयोग करें। प्रत्येक सत्र 10-15 अनुरोधों के साथ देरी करता है, फिर IP बदलता है। यह 500-1500 अनुरोधों को बिना ब्लॉक के प्रति घंटे देता है।
भूगोलिक वितरण
Amazon उपयोगकर्ता के स्थान के आधार पर विभिन्न कीमतें, उत्पादों की विविधता और डिलीवरी की शर्तें दिखाता है। सही निगरानी के लिए, उस देश से प्रॉक्सी का उपयोग करना आवश्यक है, जहाँ लक्षित मार्केटप्लेस स्थित है।
मार्केटप्लेस और प्रॉक्सी के भूगोल का मेल:
- Amazon.com (USA): अमेरिका से प्रॉक्सी का उपयोग करें, विविधता के लिए विभिन्न राज्यों से
- Amazon.co.uk (UK): UK से प्रॉक्सी
- Amazon.de (Germany): जर्मनी से प्रॉक्सी
- Amazon.co.jp (Japan): जापान से प्रॉक्सी
महत्वपूर्ण: किसी विशेष मार्केटप्लेस की पार्सिंग के लिए अन्य देशों से प्रॉक्सी का उपयोग न करें। उदाहरण के लिए, भारत या रूस के IP से Amazon.com पर अनुरोध संदिग्ध लगते हैं और अक्सर CAPTCHA प्राप्त करते हैं।
IP के पुनः उपयोग से बचें
भले ही IP ब्लॉक नहीं किया गया हो, लेकिन 2-3 घंटे के भीतर इसे फिर से उपयोग न करें। Amazon प्रत्येक पते की सक्रियता का इतिहास याद रखता है। यदि एक ही IP हर 15 मिनट में दिन भर दिखाई देता है — यह स्वचालन का स्पष्ट संकेत है।
रोटेशन का नियम: स्थिरता के लिए न्यूनतम पूल — 500-1000 अद्वितीय IP। यह पर्याप्त विविधता सुनिश्चित करता है, ताकि प्रत्येक पता दिन में 1-2 बार से अधिक उपयोग न हो।
वास्तविक ब्राउज़र का अनुकरण: हेडर और फ़िंगरप्रिंट
भले ही रेजिडेंटियल प्रॉक्सी और सही रोटेशन हो, यदि पार्सर वास्तविक ब्राउज़र का अनुकरण नहीं करता है, तो उसे ब्लॉक किया जाएगा। Amazon HTTP अनुरोधों और JavaScript वातावरण के दर्जनों मापदंडों की जांच करता है।
सही HTTP हेडर
साधारण HTTP क्लाइंट (requests, curl, wget) न्यूनतम हेडर सेट भेजते हैं, जो तुरंत बॉट को उजागर करता है। वास्तविक ब्राउज़र के हेडर की नकल करना आवश्यक है।
Amazon के लिए अनिवार्य हेडर:
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/avif,image/webp,*/*;q=0.8 Accept-Language: en-US,en;q=0.9 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 या Firefox का वर्तमान संस्करण उपयोग करें (हर 2-3 महीने में जांचें)। पुराने ब्राउज़र के संस्करण संदिग्ध होते हैं।
- Accept-Language: प्रॉक्सी के भूगोल से मेल खाना चाहिए (USA के लिए en-US, UK के लिए en-GB, Germany के लिए de-DE)
- Sec-Fetch-* हेडर: आधुनिक ब्राउज़रों में आए हैं, इनका अभाव पुराने क्लाइंट का संकेत है
- Referer: पृष्ठों के बीच जाने पर पिछले पृष्ठ का Referer भेजना अनिवार्य है
TLS फ़िंगरप्रिंटिंग और बायपास
Amazon TLS कनेक्शन के मापदंडों का विश्लेषण करता है: प्रोटोकॉल का संस्करण, cipher सेट, एक्सटेंशन। मानक पुस्तकालय (Python requests में OpenSSL) के फ़िंगरप्रिंट ब्राउज़रों से भिन्न होते हैं।
समाधान: ऐसे उपकरणों का उपयोग करें जो ब्राउज़र के TLS को अनुकरण करते हैं:
- curl-impersonate: curl का एक संस्करण, जो Chrome और Firefox के TLS फ़िंगरप्रिंट की नकल करता है
- tls-client (Python): ब्राउज़र फ़िंगरप्रिंटिंग का समर्थन करने वाली पुस्तकालय
- Playwright/Puppeteer: हेडलेस मोड में वास्तविक ब्राउज़र्स — आदर्श अनुकरण, लेकिन धीमा
JavaScript और कुकीज़
Amazon पृष्ठ लोड करते समय JavaScript कोड निष्पादित करता है, जो कुकीज़ स्थापित करता है और ब्राउज़र के बारे में जानकारी एकत्र करता है। इस कोड को निष्पादित किए बिना, आप पूर्ण डेटा प्राप्त नहीं करेंगे और जल्दी से ब्लॉक हो जाएंगे।
अनिवार्य क्रियाएँ:
- JavaScript का समर्थन करने वाले उपकरणों का उपयोग करें: Selenium, Playwright, Puppeteer
- एक ही सत्र के भीतर अनुरोधों के बीच सभी कुकीज़ को सहेजें
- डेटा निकालने से पहले पृष्ठ के पूर्ण लोड (DOMContentLoaded घटना) की प्रतीक्षा करें
- उपयोगकर्ता के कार्यों का अनुकरण करें: स्क्रॉलिंग, यादृच्छिक विराम
Amazon महत्वपूर्ण कुकीज़ स्थापित करता है: session-id, ubid-main, x-main. इनके बिना, आप CAPTCHA या खाली पृष्ठ प्राप्त करेंगे।
अनुरोधों की सीमाएँ और उनके बीच की देरी
भले ही अनुकरण आदर्श हो, यदि बहुत अधिक अनुरोध किए जाएँ तो बैन से नहीं बचा जा सकता। Amazon एक IP से अनुरोधों की आवृत्ति को सख्ती से सीमित करता है।
Amazon की दस्तावेजीकृत सीमाएँ
आधिकारिक डेटा सीमाओं के बारे में नहीं है, लेकिन समुदाय के परीक्षण के आधार पर अनुमानित मान ज्ञात हैं:
| उपयोगकर्ता का प्रकार | अनुरोधों की सीमा/मिनट | अनुरोधों की सीमा/घंटा |
|---|---|---|
| लॉगिन न किए गए उपयोगकर्ता | 10-15 | 200-300 |
| लॉगिन किए गए ग्राहक | 20-30 | 500-800 |
| Amazon API (आधिकारिक) | कोई सीमा नहीं | प्लान पर निर्भर करता है |
सीमाओं का उल्लंघन CAPTCHA, अस्थायी ब्लॉक (1-24 घंटे) या नियमित उल्लंघनों पर IP का स्थायी बैन का कारण बनता है।
अनुरोधों के बीच आदर्श देरी
निश्चित अंतराल (जैसे, ठीक 5 सेकंड) बॉट को उजागर करते हैं। वास्तविक व्यक्ति विभिन्न लंबाई के विराम लेते हैं: उत्पाद विवरण पढ़ते हैं, कीमतों की तुलना करते हैं, ध्यान भटकाते हैं।
देरी की अनुशंसित रणनीति:
- बुनियादी देरी: 3-7 सेकंड (दायरे से यादृच्छिक मान)
- सत्र में पहला अनुरोध: 5-10 सेकंड (मुख्य पृष्ठ के लोड का अनुकरण)
- त्रुटि या CAPTCHA के बाद: पुनरावृत्ति से पहले 30-60 सेकंड
- IP बदलने के बीच: "पुनः कनेक्ट" करने के लिए 2-3 सेकंड
यादृच्छिक देरी को लागू करने का उदाहरण: sleep(random.uniform(3, 7)) — प्रत्येक विराम अद्वितीय होगा।
समय के अनुसार लोड का वितरण
एक साथ हजारों उत्पादों की पार्सिंग 00:00 पर न करें। Amazon गतिविधि के स्पाइक्स को ट्रैक करता है। कार्य को कई घंटों या पूरे दिन में वितरित करें।
उदाहरण: 5000 उत्पादों की पार्सिंग करनी है। इसे 10 पैकेटों में 500 उत्पादों के साथ विभाजित करें, प्रत्येक पैकेट को 1-2 घंटे के अंतराल पर चलाएँ। यह विभिन्न उपयोगकर्ताओं की जैविक गतिविधि की तरह दिखता है।
Amazon पार्सिंग के लिए तैयार उपकरण
शून्य से पार्सर लिखना कठिन और समय लेने वाला है। ऐसे तैयार समाधान हैं, जो पहले से ही एंटी-बॉट को बायपास, प्रॉक्सी की रोटेशन और ब्राउज़र के अनुकरण को लागू करते हैं।
1. Bright Data Web Scraper IDE
Amazon के लिए तैयार टेम्पलेट्स के साथ एक क्लाउड उपकरण। प्रोग्रामिंग की आवश्यकता नहीं है — आप डेटा चयनकर्ताओं को दृश्य इंटरफ़ेस के माध्यम से कॉन्फ़िगर करते हैं। अंतर्निहित प्रॉक्सी और CAPTCHA बायपास।
लाभ: बॉक्स से बाहर काम करता है, IP की स्वचालित रोटेशन, JavaScript का समर्थन। नुकसान: महंगा ($500+ प्रति माह), बाहरी सेवा पर निर्भरता।
2. Octoparse
Windows के लिए एक डेस्कटॉप एप्लिकेशन जिसमें पार्सर बनाने के लिए दृश्य निर्माता है। 24/7 कार्यों को चलाने के लिए एक क्लाउड संस्करण है। प्रॉक्सी के साथ एकीकरण का समर्थन करता है।
Octoparse में प्रॉक्सी कॉन्फ़िगर करना: Settings → Proxy Settings → IP:PORT:USER:PASS प्रारूप में प्रॉक्सी की सूची जोड़ें → रोटेशन चालू करें।
लाभ: कोड की आवश्यकता नहीं, सुविधाजनक इंटरफ़ेस, मुफ्त योजना है। नुकसान: मुफ्त संस्करण में पृष्ठों की संख्या पर सीमाएँ, CAPTCHA के साथ कठिनाइयाँ।
3. ScrapingBee API
स्वचालित सुरक्षा बायपास के साथ पार्सिंग के लिए API सेवा। URL भेजें, HTML प्राप्त करें। अंतर्निहित प्रॉक्सी रोटेशन और JavaScript निष्पादन।
उपयोग का उदाहरण:
curl "https://app.scrapingbee.com/api/v1/?api_key=YOUR_KEY&url=https://www.amazon.com/dp/B08N5WRWNW&render_js=true&premium_proxy=true&country_code=us"
लाभ: सरल एकीकरण, अपनी प्रॉक्सी की आवश्यकता नहीं। नुकसान: भुगतान (49$/माह से), अनुरोधों की संख्या पर सीमाएँ।
4. Playwright + अपनी प्रॉक्सी (डेवलपर्स के लिए)
यदि आप प्रोग्रामिंग कर सकते हैं, तो सबसे अच्छा विकल्प है रेजिडेंटियल प्रॉक्सी के साथ Playwright (या Puppeteer) का उपयोग करना। प्रक्रिया पर पूर्ण नियंत्रण और न्यूनतम लागत।
Playwright में प्रॉक्सी सेट करने का उदाहरण (Python):
from playwright.sync_api import sync_playwright
import random
import time
proxy_list = [
{"server": "http://proxy1.example.com:8080", "username": "user", "password": "pass"},
{"server": "http://proxy2.example.com:8080", "username": "user", "password": "pass"},
]
with sync_playwright() as p:
proxy = random.choice(proxy_list)
browser = p.chromium.launch(proxy=proxy, headless=True)
context = browser.new_context(
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
locale="en-US",
timezone_id="America/New_York"
)
page = context.new_page()
# पहला अनुरोध - मुख्य पृष्ठ
page.goto("https://www.amazon.com")
time.sleep(random.uniform(3, 5))
# उत्पाद अनुरोध
page.goto("https://www.amazon.com/dp/B08N5WRWNW")
page.wait_for_load_state("networkidle")
# डेटा निकालना
title = page.locator("#productTitle").inner_text()
price = page.locator(".a-price-whole").first.inner_text()
print(f"Title: {title}, Price: ${price}")
browser.close()
लाभ: पूर्ण नियंत्रण, क्लाउड सेवाओं की तुलना में सस्ता, इसे स्केल करना संभव है। नुकसान: प्रोग्रामिंग कौशल की आवश्यकता, CAPTCHA को स्वयं संभालना होगा।
उपकरण के चयन के लिए सिफारिशें
| आपकी स्थिति | अनुशंसित उपकरण |
|---|---|
| मैं प्रोग्रामिंग नहीं कर सकता, 100-500 उत्पादों की आवश्यकता है | Octoparse + रेजिडेंटियल प्रॉक्सी |
| मुझे जल्दी से विचार का परीक्षण करना है, बजट है | ScrapingBee API |
| मैं प्रोग्रामिंग कर सकता हूँ, हजारों उत्पादों की आवश्यकता है | Playwright/Puppeteer + रेजिडेंटियल प्रॉक्सी |
| बड़ा बजट, अधिकतम विश्वसनीयता की आवश्यकता है | Bright Data Web Scraper |
ब्लॉक होने पर क्या करें: निदान और समाधान
सभी नियमों का पालन करने के बावजूद कभी-कभी ब्लॉक हो जाते हैं। यह समझना महत्वपूर्ण है कि समस्या का कारण क्या है और इसे जल्दी से ठीक करना है।
ब्लॉकों के प्रकार और उनके संकेत
1. CAPTCHA (स्थिति कोड 503 या /errors/validateCaptcha पर रीडायरेक्ट):
- कारण: IP से संदिग्ध गतिविधि, लेकिन पूर्ण ब्लॉक नहीं
- समाधान: IP बदलें, अनुरोधों के बीच की देरी बढ़ाएँ, उपयोगकर्ता के कार्यों का अनुकरण जोड़ें
- स्वचालन: CAPTCHA समाधान सेवाओं का उपयोग करें (2Captcha, Anti-Captcha) — लेकिन इससे पार्सिंग धीमी हो जाती है
2. IP ब्लॉक (कोड 403 या खाली पृष्ठ):
- कारण: IP सीमाओं के उल्लंघन या डेटा सेंटर के उपयोग के कारण ब्लैकलिस्ट में चला गया
- समाधान: तुरंत IP बदलें, प्रॉक्सी के प्रकार की जांच करें (संभवतः रेजिडेंटियल के बजाय डेटा सेंटर का उपयोग किया जा रहा है)
- अवधि: आमतौर पर 24-48 घंटे, कभी-कभी हमेशा के लिए
3. "Amazon डेटा तक स्वचालित पहुंच पर चर्चा करने के लिए कृपया api-services-support@amazon.com से संपर्क करें":
- कारण: Amazon ने स्पष्ट रूप से स्वचालन को पहचाना है और आधिकारिक API का उपयोग करने की पेशकश की है
- समाधान: ब्राउज़र के अनुकरण में सुधार करें, TLS फ़िंगरप्रिंट की जांच करें, अनुरोधों की आवृत्ति को 2 गुना कम करें
समस्या निदान चेकलिस्ट
यदि आप ब्लॉकों का सामना कर रहे हैं, तो क्रम में जांचें:
- प्रॉक्सी का प्रकार: सुनिश्चित करें कि आप रेजिडेंटियल का उपयोग कर रहे हैं, न कि डेटा सेंटर का। इसे whoer.net पर जांचा जा सकता है
- भूगोल: IP को उस देश से होना चाहिए जहाँ मार्केटप्लेस है (USA के लिए .com, UK के लिए .co.uk)
- User-Agent: Chrome/Firefox का वर्तमान संस्करण (3-4 महीने से अधिक पुराना नहीं)
- कुकीज़: क्या वे सत्र के भीतर अनुरोधों के बीच सहेजी जाती हैं
- JavaScript: क्या इसे निष्पादित किया जा रहा है (यदि आप Playwright/Puppeteer का उपयोग कर रहे हैं — इसे निष्पादित होना चाहिए)
- अनुरोधों की आवृत्ति: एक IP से प्रति मिनट 10-15 से अधिक नहीं
- देरी: यादृच्छिक, निश्चित नहीं
- IP की रोटेशन: प्रत्येक पता 2-3 घंटे में 1 बार से अधिक उपयोग नहीं किया जाता है
सामूहिक ब्लॉकों के लिए आपातकालीन उपाय
यदि अधिकांश अनुरोध (30% से अधिक) ब्लॉक हो रहे हैं:
- 2-3 घंटे के लिए पार्सिंग रोकें — Amazon को आपकी गतिविधि "भूलने" दें
- प्रॉक्सी प्रदाता बदलें — संभवतः, IP पूल पहले से ही समझौता कर चुका है
- लोड को 3-5 गुना कम करें — 100 अनुरोधों के बजाय प्रति घंटे 20-30 करें
- मोबाइल प्रॉक्सी पर स्विच करें — ये लगभग कभी ब्लॉक नहीं होते, हालांकि महंगे होते हैं
- अधिक मानव अनुकरण जोड़ें: श्रेणियों के बीच यादृच्छिक रूप से जाने, उत्पादों की खोज करने के लिए खोज बार का उपयोग करें, सीधे URL के बजाय
ध्यान दें: यदि आपका IP हमेशा के लिए बैन हो गया है (ब्लॉक 72 घंटे से अधिक समय तक रहता है), तो इसे फिर से उपयोग करने का प्रयास न करें। Amazon स्थायी बैन को शायद ही कभी हटाता है। नए प्रॉक्सी पूल पर स्विच करें।
निष्कर्ष
Amazon के एंटी-बॉट को बायपास करना एक जटिल कार्य है, जिसमें सही प्रॉक्सी, वास्तविक ब्राउज़र का सटीक अनुकरण और समझदारी से अनुरोधों की सीमाएँ शामिल हैं। सफल पार्सिंग के लिए मुख्य बिंदु: उस देश से रेजिडेंटियल प्रॉक्सी का उपयोग करें जहाँ मार्केटप्लेस स्थित है; हर 10-15 मिनट में IP की रोटेशन करें, प्रति सत्र 15-20 अनुरोधों की सीमा रखें; सही हेडर और JavaScript निष्पादन के साथ आधुनिक ब्राउज़र का पूर्ण अनुकरण; अनुरोधों के बीच 3-7 सेकंड की यादृच्छिक देरी।
इन नियमों का पालन करने पर सफल अनुरोधों का प्रतिशत 95-98% तक पहुँच जाता है, और ब्लॉकों की घटनाएँ दुर्लभ हो जाती हैं। मुख्य बात यह है कि जल्दी न करें और वास्तविक उपयोगकर्ता के व्यवहार का अनुकरण करें, न कि मिनटों में हजारों उत्पादों को पार्स करने का प्रयास करें।
Amazon के साथ स्थिरता से काम करने के लिए, हम रेजिडेंटियल प्रॉक्सी का उपयोग करने की सिफारिश करते हैं।