यांडेक्स.फूड, डिलीवरी क्लब, स्बेरमार्केट और दर्जनों क्षेत्रीय डिलीवरी एग्रीगेटर्स - मार्केटर्स, एनालिस्ट्स और रेस्तरां व्यवसाय के मालिकों के लिए डेटा का असली खजाना हैं। लेकिन जैसे ही आप कीमतों और मेनू की वस्तुओं को व्यवस्थित रूप से इकट्ठा करना शुरू करते हैं, सेवाएं अनुरोधों को ब्लॉक करना शुरू कर देती हैं। इस लेख में, हम समझेंगे कि मेनू और डिलीवरी कीमतों का पार्सिंग कैसे सही तरीके से व्यवस्थित करें, कौन से उपकरणों का उपयोग करें और प्रॉक्सी कैसे ब्लॉकों से बचने में मदद करती हैं।
रेस्तरां के मेनू और डिलीवरी कीमतों का पार्सिंग क्यों करें
रूस में खाद्य डिलीवरी का बाजार ई-कॉमर्स के सबसे गतिशील क्षेत्रों में से एक है। व्यंजनों की कीमतें, मेनू की संरचना और डिलीवरी की शर्तें हर दिन बदलती हैं। यदि आप दर्जनों प्रतियोगियों या सैकड़ों वस्तुओं की बात कर रहे हैं, तो इन परिवर्तनों को मैन्युअल रूप से ट्रैक करना असंभव है। यहीं स्वचालित डेटा संग्रह की आवश्यकता होती है।
यहाँ वे लोग हैं जो व्यावहारिक रूप से मेनू और कीमतों का पार्सिंग करते हैं:
- रेस्तरां और कैफे के मालिक - अपने क्षेत्र में प्रतियोगियों की कीमतों पर नज़र रखते हैं ताकि वे अपने मूल्य निर्धारण को त्वरित रूप से समायोजित कर सकें।
- रेस्तरां श्रृंखलाओं के मार्केटर्स - विश्लेषण करते हैं कि प्रतियोगी कौन सी मेनू वस्तुओं को प्रचारित कर रहे हैं।
- HoReCa बाजार के विश्लेषक - विभिन्न शहरों और क्षेत्रों में व्यंजनों की श्रेणियों पर औसत कीमतों की रिपोर्ट बनाते हैं।
- स्टार्टअप एग्रीगेटर्स - अपने कैटलॉग के लिए मेनू और कीमतों के साथ रेस्तरां का डेटाबेस इकट्ठा करते हैं।
- निवेशक और सलाहकार - नए संस्थान या फ्रैंचाइज़ी खोलने से पहले प्रतिस्पर्धात्मक वातावरण का मूल्यांकन करते हैं।
- ऐप डेवलपर्स - कैलोरी की गणना या आहार योजना के लिए ऐप्स के लिए व्यंजनों का डेटाबेस बनाते हैं।
यदि आप रेस्तरां व्यवसाय में काम कर रहे हैं या इसकी विश्लेषण कर रहे हैं, तो प्रतियोगियों की कीमतों की नियमित निगरानी एक विलासिता नहीं, बल्कि एक आवश्यकता है। एक लोकप्रिय व्यंजन पर 30-50 रुपये का अंतर सीधे आदेशों में रूपांतरण को प्रभावित कर सकता है। और बिना स्वचालन के, आप हमेशा उन लोगों से एक कदम पीछे रहेंगे जिन्होंने पहले से ही डेटा संग्रह सेट किया है।
डिलीवरी एग्रीगेटर्स से कौन से डेटा इकट्ठा किए जाते हैं
पार्सर सेट करने से पहले, यह समझना महत्वपूर्ण है कि आपको वास्तव में कौन से डेटा की आवश्यकता है। डिलीवरी एग्रीगेटर्स में कई स्तरों की जानकारी होती है, और उनमें से प्रत्येक विभिन्न कार्यों के लिए उपयोगी होता है।
| डेटा का प्रकार | इसमें क्या शामिल है | किसके लिए उपयोगी है |
|---|---|---|
| मेनू और वस्तुएं | व्यंजनों के नाम, विवरण, सामग्री, वजन, केबीजयू | ऐप डेवलपर्स, पोषण विशेषज्ञ |
| व्यंजनों की कीमतें | वर्तमान कीमत, छूट के साथ कीमत, परिवर्तन का इतिहास | रेस्तरां के मालिक, मार्केटर्स |
| डिलीवरी की शर्तें | डिलीवरी की लागत, न्यूनतम ऑर्डर राशि, डिलीवरी का समय | विश्लेषक, स्टार्टअप |
| प्रमोशन और विशेष प्रस्ताव | छूट, कॉम्बो, प्रमो-व्यंजन, मौसमी प्रस्ताव | मार्केटर्स, प्रतिस्पर्धात्मक खुफिया |
| रेटिंग और समीक्षाएँ | संस्थानों की रेटिंग, समीक्षाओं की संख्या, गुणवत्ता टैग | निवेशक, सलाहकार |
| भौगोलिक डेटा | पते, डिलीवरी क्षेत्र, उपस्थिति के क्षेत्र | बाजार विश्लेषक, फ्रैंचाइज़ी |
मूल्य परिवर्तन की गतिशीलता की निगरानी विशेष रूप से मूल्यवान होती है: यदि आप कई महीनों तक दिन में एक बार डेटा इकट्ठा करते हैं, तो आप प्रतियोगियों की मूल्य निर्धारण पैटर्न देख सकते हैं - वे कब कीमतें बढ़ाते हैं, कब प्रमोशन शुरू करते हैं और बाहरी घटनाओं (त्योहारों, खेल आयोजनों, खराब मौसम) पर कैसे प्रतिक्रिया करते हैं।
यांडेक्स.फूड, डिलीवरी क्लब और अन्य एग्रीगेटर्स की सुरक्षा की विशेषताएँ
बड़े डिलीवरी एग्रीगेटर्स अपने डेटा को स्वचालित संग्रह से सक्रिय रूप से बचाते हैं। और यह समझ में आता है: उनके रेस्तरां का डेटाबेस और वर्तमान कीमतें - यह उनका प्रतिस्पर्धात्मक लाभ है। पार्सर सेट करने से पहले, यह समझना आवश्यक है कि आप किस प्रकार की सुरक्षा का सामना करेंगे।
यांडेक्स.फूड
यह एक साथ कई सुरक्षा स्तरों का उपयोग करता है। सबसे पहले, भू-स्थानिकता का सक्रिय रूप से उपयोग किया जाता है: मेनू की सामग्री और कीमतें आपके आईपी पते के आधार पर प्रदर्शित होती हैं - यदि आईपी मॉस्को से है, तो आप मॉस्को के रेस्तरां देखते हैं। दूसरे, साइट React पर SPA (सिंगल पेज एप्लिकेशन) के रूप में काम करती है, यानी डेटा API अनुरोधों के माध्यम से लोड होते हैं, न कि HTML में एम्बेडेड होते हैं। तीसरे, संदिग्ध गतिविधि पर यांडेक्स स्मार्टकैप्चा सक्रिय हो जाता है। यदि एक आईपी से बार-बार अनुरोध किए जाते हैं, तो आपको साइट पर जाने की अनुमति नहीं दी जाती है।
डिलीवरी क्लब (स्बेरमार्केट)
समान आर्किटेक्चर: डेटा आंतरिक API के माध्यम से दिया जाता है, न कि स्थिर HTML के माध्यम से। सेवा व्यवहार पैटर्न का विश्लेषण करती है: यदि अनुरोध बहुत तेजी से या बिना विराम के आते हैं - तो ब्लॉक। इसके अलावा, यूजर-एजेंट और अनुरोध के हेडर का विश्लेषण किया जाता है। असामान्य हेडर तुरंत संदेह उत्पन्न करते हैं।
क्षेत्रीय एग्रीगेटर्स
चिब्बिस, गोलोसो जैसे सेवाएं, और क्षेत्रीय एग्रीगेटर्स आमतौर पर कमजोर सुरक्षा रखते हैं। इनमें से कुछ साधारण HTML पृष्ठों का उपयोग करते हैं, जिन्हें मानक उपकरणों के माध्यम से पार्स किया जा सकता है। हालांकि, यहां भी बार-बार अनुरोधों पर आईपी ब्लॉक करना एक सामान्य प्रथा है।
डिलीवरी एग्रीगेटर्स पर पार्सर्स को ब्लॉक करने के मुख्य तंत्र:
- अनुरोधों की सीमा (रेट लिमिटिंग) को पार करने पर आईपी ब्लॉक करना
- भू-प्रतिबंध - विभिन्न आईपी के लिए विभिन्न सामग्री प्रदर्शित करना
- यूजर-एजेंट और HTTP हेडर का विश्लेषण
- संदेहास्पद गतिविधि पर कैप्चा
- डेटा का जावास्क्रिप्ट-रेंडरिंग (SPA आर्किटेक्चर)
- व्यवहार का विश्लेषण: क्लिक की गति, स्क्रॉलिंग, विराम
कोड के बिना और कोड के साथ पार्सिंग के लिए उपकरण
अच्छी खबर: रेस्तरां के मेनू का पार्सिंग करने के लिए प्रोग्रामिंग जानना आवश्यक नहीं है। ऐसे तैयार नो-कोड समाधान हैं जो अधिकांश कार्यों को संभालते हैं। लेकिन यांडेक्स.फूड जैसे SPA साइटों के साथ काम करने के लिए अधिक गंभीर उपकरणों की आवश्यकता होगी।
नो-कोड उपकरण (बिना प्रोग्रामिंग)
Octoparse - सबसे लोकप्रिय दृश्य पार्सरों में से एक। यह आपको पृष्ठ के तत्वों पर क्लिक करने और कोड लिखे बिना डेटा संग्रह का परिदृश्य बनाने की अनुमति देता है। इसमें आईपी रोटेशन के साथ क्लाउड मोड है। यह सरल संरचना वाली साइटों से मेनू इकट्ठा करने के लिए उपयुक्त है।
ParseHub - एक समान उपकरण जो दृश्य इंटरफेस के साथ है। यह जावास्क्रिप्ट पृष्ठों के साथ काम कर सकता है, जो इसे आधुनिक एग्रीगेटर्स के लिए लागू बनाता है। इसमें प्रॉक्सी का समर्थन है।
Apify - एक प्लेटफार्म जिसमें तैयार "एक्टर्स" (लोकप्रिय साइटों के लिए तैयार पार्सर) होते हैं। कुछ डिलीवरी एग्रीगेटर्स के लिए उनके मार्केटप्लेस में पहले से ही तैयार समाधान हैं। इसे बिना कोड के वेब इंटरफेस के माध्यम से चलाया जा सकता है।
कोड के साथ उपकरण (डेवलपर्स के लिए)
Python + Requests + BeautifulSoup - स्थिर पृष्ठों के पार्सिंग के लिए क्लासिक संयोजन। तेज, आसान, लेकिन जावास्क्रिप्ट-रेंडरिंग के साथ काम नहीं करता।
Python + Selenium या Playwright - वास्तविक ब्राउज़र (Chrome/Firefox) को नियंत्रित करता है, इसलिए SPA साइटों, जावास्क्रिप्ट और यहां तक कि कुछ कैप्चा के साथ काम करता है। Playwright को अधिक आधुनिक और तेज़ समाधान माना जाता है। यही संयोजन यांडेक्स.फूड और डिलीवरी क्लब के साथ काम करता है।
Scrapy - Python पर बड़े पैमाने पर पार्सिंग के लिए एक पेशेवर ढांचा। यह अनुरोधों की कतारों, प्रॉक्सी के लिए मिडलवेयर, विभिन्न प्रारूपों में निर्यात का समर्थन करता है। रेस्तरां के डेटा संग्रह के लिए बड़े प्रोजेक्ट्स के लिए - यह एक आदर्श विकल्प है।
| उपकरण | क्या कोड की आवश्यकता है? | JS-रेंडरिंग | प्रॉक्सी | किसके लिए उपयुक्त है |
|---|---|---|---|---|
| Octoparse | नहीं | आंशिक रूप से | निर्मित रोटेशन | क्षेत्रीय एग्रीगेटर्स |
| ParseHub | नहीं | हाँ | बाहरी प्रॉक्सी | अधिकांश एग्रीगेटर्स |
| Apify | नहीं | हाँ | निर्मित + बाहरी | यांडेक्स.फूड, डिलीवरी क्लब |
| Selenium/Playwright | हाँ (Python) | हाँ | बाहरी प्रॉक्सी | किसी भी साइट |
| Scrapy | हाँ (Python) | प्लगइन्स के माध्यम से | बाहरी प्रॉक्सी | बड़े पैमाने पर डेटा संग्रह |
प्रॉक्सी के बिना पार्सिंग क्यों काम नहीं करती
यह एक महत्वपूर्ण प्रश्न है। कई शुरुआती विश्लेषक अपने आईपी से सीधे पार्सर चलाने की कोशिश करते हैं और तुरंत ब्लॉक से सामना करते हैं। कारण सरल है: डिलीवरी एग्रीगेटर्स एक ही पते से थोड़े समय में सैकड़ों अनुरोध देखते हैं और स्वचालित रूप से इसे ब्लॉक कर देते हैं। पुनः पहुंच बहाल करने में कुछ घंटों से लेकर कुछ दिनों तक का समय लग सकता है।
प्रॉक्सी इस समस्या को हल करते हैं, अनुरोधों को कई विभिन्न आईपी पतों के बीच वितरित करते हैं। सर्वर के दृष्टिकोण से, अनुरोध विभिन्न स्थानों से विभिन्न उपयोगकर्ताओं के सामान्य ट्रैफ़िक के रूप में दिखाई देते हैं। लेकिन सभी प्रॉक्सी इस कार्य के लिए समान रूप से प्रभावी नहीं होते हैं।
रिज़िडेंट प्रॉक्सी
रिज़िडेंट प्रॉक्सी असली घरेलू उपयोगकर्ताओं के आईपी पतों का उपयोग करते हैं। यांडेक्स.फूड या डिलीवरी क्लब के दृष्टिकोण से - यह एक सामान्य व्यक्ति है जो रेस्तरां का मेनू देखने आया है। सही उपयोग के साथ, ये प्रॉक्सी लगभग ब्लॉक नहीं होते। गंभीर सुरक्षा वाले बड़े एग्रीगेटर्स से डेटा संग्रह के लिए यह एक आदर्श विकल्प है।
मोबाइल प्रॉक्सी
मोबाइल प्रॉक्सी मोबाइल ऑपरेटरों (MTS, Beeline, MegaFon आदि) के आईपी पते हैं। उनकी विशेषता यह है कि एक मोबाइल आईपी हजारों वास्तविक उपयोगकर्ताओं द्वारा एक साथ (NAT के माध्यम से) उपयोग किया जा सकता है, इसलिए साइटें मोबाइल पतों को बहुत कम ब्लॉक करती हैं। यह उन्हें उच्च अनुरोध आवृत्ति के साथ पार्सिंग के लिए सबसे विश्वसनीय विकल्पों में से एक बनाता है।
डेटा सेंटर प्रॉक्सी
डेटा सेंटर प्रॉक्सी सबसे तेज और सस्ते होते हैं, लेकिन उनके आईपी को "गैर-मानव" के रूप में आसानी से पहचाना जा सकता है। क्षेत्रीय एग्रीगेटर्स के लिए जो सरल सुरक्षा रखते हैं, ये उपयुक्त हैं, लेकिन यांडेक्स.फूड और डिलीवरी क्लब इन्हें काफी तेजी से ब्लॉक करते हैं। फिर भी, डेटा सेंटर प्रॉक्सी साइट की संरचना का प्राथमिक обход और पार्सर के परीक्षण के लिए अच्छी तरह से काम करते हैं।
मेनू पार्सिंग के लिए किस प्रकार की प्रॉक्सी चुनें:
- यांडेक्स.फूड, डिलीवरी क्लब → रिज़िडेंट या मोबाइल प्रॉक्सी
- क्षेत्रीय एग्रीगेटर्स (चिब्बिस आदि) → डेटा सेंटर प्रॉक्सी या रिज़िडेंट
- पूरे रूस में डेटा संग्रह (विभिन्न शहर) → शहरों के लिए भू-लक्षित रिज़िडेंट
- उच्च आवृत्ति की निगरानी (हर घंटे) → रोटेशन के साथ मोबाइल प्रॉक्सी
प्रॉक्सी के साथ पार्सर की चरण-दर-चरण सेटिंग
आइए एक व्यावहारिक परिदृश्य पर विचार करें: आप अपने शहर में 20 प्रतियोगियों से पिज्जा की कीमतें दैनिक रूप से इकट्ठा करना चाहते हैं। इसे चरण-दर-चरण कैसे सेट करें।
चरण 1. एग्रीगेटर के API की संरचना का अध्ययन करें
अपने ब्राउज़र में यांडेक्स.फूड खोलें, F12 (DevTools) दबाएं, नेटवर्क टैब पर जाएं और अनुरोधों को XHR/Fetch द्वारा फ़िल्टर करें। रेस्तरां का पृष्ठ खोजें और देखें कि मेनू लोड करते समय कौन से API अनुरोध भेजे जाते हैं। आमतौर पर यह कुछ इस तरह होता है api/v1/menu?restaurantId=...। इन अनुरोधों के हेडर को नोट करें - ये अनुकरण के लिए आवश्यक होंगे।
चरण 2. उपकरण चुनें
यदि आप कोड नहीं लिखते हैं - तो Apify या ParseHub का उपयोग करें। यदि आप Python में लिखते हैं - तो Playwright जावास्क्रिप्ट साइटों के साथ काम करने के लिए सबसे अच्छा विकल्प होगा। आवश्यक उपकरण स्थापित करें और सुनिश्चित करें कि यह बाहरी प्रॉक्सी कनेक्शन का समर्थन करता है।
चरण 3. भू-लक्षित प्रॉक्सी प्राप्त करें
यह एक महत्वपूर्ण बिंदु है। यांडेक्स.फूड शहर के आधार पर विभिन्न रेस्तरां दिखाता है। यदि आप एकातेरिनबर्ग के रेस्तरां के मेनू पार्स कर रहे हैं - तो आपको एकातेरिनबर्ग से आईपी वाले प्रॉक्सी की आवश्यकता है। शहर के लिए भू-लक्षित रिज़िडेंट प्रॉक्सी आपको वही सामग्री प्राप्त करने की अनुमति देती हैं जो स्थानीय उपयोगकर्ता देखता है। प्रॉक्सी सेट करते समय आवश्यक क्षेत्र निर्दिष्ट करें।
चरण 4. प्रॉक्सी रोटेशन सेट करें
सभी अनुरोधों के लिए एक ही प्रॉक्सी का उपयोग न करें। रोटेशन सेट करें: हर 5-10 अनुरोधों पर आईपी बदलें। Apify में यह प्रॉक्सी पूल सेटिंग्स के माध्यम से किया जाता है। Scrapy में - मिडलवेयर के माध्यम से। Playwright में - प्रत्येक ब्राउज़र संदर्भ बनाने पर नए प्रॉक्सी को पास करके। जितनी बार आईपी बदलता है, ब्लॉक होने का जोखिम उतना ही कम होता है।
चरण 5. अनुरोधों के बीच विलंब सेट करें
अनुरोधों के बीच यादृच्छिक विराम जोड़ें - 2 से 8 सेकंड। यह वास्तविक उपयोगकर्ता के व्यवहार का अनुकरण करता है। कभी भी 1 सेकंड से कम अंतराल के साथ अनुरोध न करें - यह प्रतिबंध का निश्चित रास्ता है। Scrapy में DOWNLOAD_DELAY पैरामीटर का उपयोग करें और AUTOTHROTTLE_ENABLED को सक्षम करें।
चरण 6. अनुरोधों के लिए सही हेडर सेट करें
हमेशा यथार्थवादी यूजर-एजेंट (ब्राउज़र का स्ट्रिंग) भेजें, Accept-Language हेडर (उदाहरण के लिए, hi-IN,hi;q=0.9) और रेफरर। इन हेडरों के बिना अनुरोध बॉट के रूप में दिखाई देते हैं और पहले स्थान पर ब्लॉक हो जाते हैं। Chrome या Firefox से वर्तमान यूजर-एजेंट स्ट्रिंग का उपयोग करें।
चरण 7. अनुसूची और डेटा संग्रह सेट करें
रात के समय (2:00 से 6:00 बजे) पार्सर चलाएं - एग्रीगेटर्स के सर्वरों पर लोड न्यूनतम होता है, और संदिग्ध ट्रैफ़िक कम ध्यान देने योग्य होता है। डेटा को डेटाबेस (PostgreSQL, MySQL) में या कम से कम टाइमस्टैम्प के साथ CSV में सहेजें। यह मूल्य परिवर्तनों का इतिहास बनाने की अनुमति देगा।
# प्रॉक्सी सेटअप का उदाहरण Playwright में (Python)
from playwright.sync_api import sync_playwright
import random
import time
proxies = [
{"server": "http://proxy1.example.com:8080", "username": "user", "password": "pass"},
{"server": "http://proxy2.example.com:8080", "username": "user", "password": "pass"},
# ... अधिक प्रॉक्सी
]
def parse_restaurant_menu(url):
proxy = random.choice(proxies)
with sync_playwright() as p:
browser = p.chromium.launch()
context = browser.new_context(
proxy=proxy,
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
)
page = context.new_page()
# यादृच्छिक विलंब 2-8 सेकंड
time.sleep(random.uniform(2, 8))
page.goto(url)
page.wait_for_selector('.menu-item') # मेनू लोड होने की प्रतीक्षा करें
# व्यंजनों के बारे में डेटा संग्रह
items = page.query_selector_all('.menu-item')
menu_data = []
for item in items:
name = item.query_selector('.item-name').inner_text()
price = item.query_selector('.item-price').inner_text()
menu_data.append({'name': name, 'price': price})
browser.close()
return menu_data
टिपिकल गलतियाँ और उनसे कैसे बचें
उपकरणों की सही सेटिंग के बावजूद, कई लोग खाद्य डिलीवरी डेटा के पार्सिंग में समस्याओं का सामना करते हैं। यहाँ सबसे सामान्य गलतियाँ और उनके समाधान दिए गए हैं।
गलती 1: सभी अनुरोधों के लिए एक प्रॉक्सी का उपयोग करना
सबसे अच्छे रिज़िडेंट प्रॉक्सी को भी ब्लॉक किया जाएगा यदि इसके माध्यम से एक ही साइट पर प्रति दिन सैकड़ों अनुरोध किए जाते हैं। हमेशा कम से कम 10-20 प्रॉक्सी के पूल का उपयोग करें और रोटेशन करें। जितने अधिक रेस्तरां आप पार्स करते हैं, उतनी अधिक प्रॉक्सी की आवश्यकता होती है।
गलती 2: भू-लक्षित करने की अनदेखी करना
यांडेक्स.फूड और डिलीवरी क्लब उपयोगकर्ता के शहर के आधार पर विभिन्न सामग्री प्रदर्शित करते हैं। यदि आप नोवोसिबिर्स्क के रेस्तरां के बारे में डेटा इकट्ठा करना चाहते हैं, लेकिन मॉस्को के प्रॉक्सी का उपयोग कर रहे हैं - तो आपको मॉस्को के डेटा मिलेंगे। हमेशा जांचें कि प्रॉक्सी आवश्यक क्षेत्र के अनुरूप है।
गलती 3: API के बजाय HTML का पार्सिंग
शुरुआती पार्सर पृष्ठों के HTML कोड से डेटा इकट्ठा करने की कोशिश करते हैं। लेकिन SPA साइटों पर (और यांडेक्स.फूड वास्तव में ऐसी है) डेटा HTML में एम्बेडेड नहीं होते हैं - वे API के माध्यम से लोड होते हैं। आवश्यक API एंडपॉइंट को DevTools के माध्यम से खोजना और सीधे उस पर संपर्क करना कहीं अधिक प्रभावी है। यह तेज़, अधिक स्थिर और कम संसाधनों की आवश्यकता होती है।
गलती 4: अनुरोधों की बहुत उच्च आवृत्ति
डेटा जल्दी इकट्ठा करने की इच्छा समझ में आती है, लेकिन यह तात्कालिक ब्लॉक की ओर ले जाती है। 50 रेस्तरां की कीमतों की दैनिक निगरानी के लिए, एक दिन में एक बार पार्सर चलाना पर्याप्त है, अनुरोधों के बीच 3-5 सेकंड के विराम के साथ। विलंब को कम करके प्रक्रिया को तेज करने की कोशिश न करें।
गलती 5: प्रॉक्सी की कार्यक्षमता की निगरानी का अभाव
प्रॉक्सी "मर" सकते हैं - उन्हें ब्लॉक किया जाता है, उनकी वैधता समाप्त हो जाती है। यदि पार्सर एक ब्लॉक की गई प्रॉक्सी के साथ काम करना जारी रखता है, तो आपको खाली डेटा या त्रुटियाँ मिलती हैं, बिना समस्या को देखे। प्रत्येक लॉन्च से पहले प्रॉक्सी की कार्यक्षमता की जांच सेट करें और गैर-कार्यशील पतों को स्वचालित रूप से बदलें।
गलती 6: साइट की संरचना में परिवर्तनों की अनदेखी करना
एग्रीगेटर्स नियमित रूप से अपनी साइटों और API को अपडेट करते हैं। एक पार्सर जो एक महीने पहले काम कर रहा था, अगले अपडेट के बाद काम करना बंद कर सकता है। त्रुटियों के लिए सूचनाएँ सेट करें और कम से कम सप्ताह में एक बार पार्सर की कार्यक्षमता की जांच करें। आप जो डेटा इकट्ठा कर रहे हैं उसकी संरचना के दस्तावेज़ को अपने पास रखें।
रेस्तरां के मेनू पार्सर को लॉन्च करने से पहले चेकलिस्ट:
- ✅ 10+ प्रॉक्सी के पूल को रोटेशन के साथ सेट किया गया है
- ✅ प्रॉक्सी आवश्यक शहर/क्षेत्र के अनुरूप हैं
- ✅ अनुरोधों के बीच 3-8 सेकंड (यादृच्छिक) के विराम
- ✅ यथार्थवादी यूजर-एजेंट सेट किया गया है
- ✅ Accept-Language और रेफरर हेडर जोड़े गए हैं
- ✅ टाइमस्टैम्प के साथ डेटा संग्रह सेट किया गया है
- ✅ त्रुटियों की निगरानी और सूचनाएँ सक्षम की गई हैं
- ✅ रात के समय लॉन्च की योजना बनाई गई है
निष्कर्ष
रेस्तरां के मेनू और डिलीवरी कीमतों का पार्सिंग - रेस्तरां व्यवसाय और HoReCa बाजार विश्लेषण में प्रतिस्पर्धात्मक लाभ का एक वास्तविक उपकरण है। यांडेक्स.फूड, डिलीवरी क्लब और अन्य एग्रीगेटर्स अपने डेटा की सक्रिय रूप से सुरक्षा करते हैं, लेकिन सही दृष्टिकोण के साथ - उपकरणों के सही चयन, विलंब सेटिंग और उच्च गुणवत्ता वाली प्रॉक्सी के उपयोग के साथ - डेटा संग्रह स्थिर और बिना ब्लॉकों के काम करता है।
इस लेख से मुख्य निष्कर्ष: जावास्क्रिप्ट-रेंडरिंग का समर्थन करने वाले उपकरणों का उपयोग करें (Playwright, Apify), प्रॉक्सी का रोटेशन सेट करें, भू-लक्षित करना न भूलें और हमेशा अनुरोधों के बीच यादृच्छिक विराम जोड़ें। ये स्थिर पार्सिंग के तीन स्तंभ हैं।
यदि आप यांडेक्स.फूड, डिलीवरी क्लब या क्षेत्रीय डिलीवरी एग्रीगेटर्स से नियमित रूप से डेटा इकट्ठा करने की योजना बना रहे हैं, तो हम रिज़िडेंट प्रॉक्सी पर ध्यान देने की सिफारिश करते हैं - वे ब्लॉकों के प्रति अधिकतम स्थिरता प्रदान करते हैं और रूसी शहरों के लिए भू-लक्षित का समर्थन करते हैं, जो विशेष रूप से विशिष्ट क्षेत्रों में कीमतों के डेटा संग्रह के लिए महत्वपूर्ण है।
```