परियोजना का विवरण
अनुवादितपृष्ठ लोड होने के बाद क्या होता है, यह भी समान रूप से महत्वपूर्ण है। कच्चा HTML सत्यापित, डेडुप्लिकेटेड रिकॉर्ड में बदलना चाहिए, और कीमतें, तिथियाँ, और फोन नंबरों को डेटाबेस में जाने से पहले समान प्रारूपों में सामान्यीकृत किया जाना चाहिए। केवल नए या परिवर्तित डेटा को स्टोर करना समझदारी है, इसलिए हमें वृद्धिशील लॉजिक की आवश्यकता है। इसके अलावा, संचालन की पारदर्शिता हमारे लिए महत्वपूर्ण है: एक डैशबोर्ड जो रन सफलता दर और मात्रा दिखाता है, विफलताओं और डेटा विसंगतियों के लिए सूचनाएँ, और एक पुनरुत्पादनीय तैनाती जो बिना जनजातीय ज्ञान के शून्य से शुरू की जा सके।
विशिष्ट लक्षित वेबसाइटें गोपनीय हैं और शर्तों पर सहमति के बाद NDA के तहत साझा की जाती हैं। आपकी प्रतिक्रिया में, उन एंटी-बॉट सुरक्षा के बारे में लिखें जिनका आपने सामना किया है और आपने समय के साथ पार्सर को स्थिर कैसे रखा। कार्य का पूरा दायरा नीचे है।
1. स्क्रैपर आर्किटेक्चर
— स्क्रैपी + प्रॉक्सी रोटेशन और यूजर-एजेंट पूल
— जावास्क्रिप्ट साइटों के लिए प्ले राइट/सेलेनियम
— CAPTCHA बाईपास (2captcha / एंटी-कैप्चा)
— दर सीमित करना, robots.txt अनुपालन
2. डेटा पाइपलाइन
— HTML से संरचित JSON
— सत्यापन और डेडुप्लिकेशन
— कीमतों, तिथियों, फोन नंबरों का सामान्यीकरण
— स्कीमा डिज़ाइन के साथ PostgreSQL भंडारण
— वृद्धिशील अपडेट (केवल नए/परिवर्तित रिकॉर्ड)
3. निगरानी और संचालन
— डैशबोर्ड: रन सफलता, रिकॉर्ड गिनती, त्रुटियाँ
— विफलताओं पर स्लैक/ईमेल अलर्ट
— डॉकर कंपोज़ तैनाती
— पुनः प्रयास लॉजिक के साथ क्रॉन शेड्यूलिंग
लक्षित वेबसाइटें
— गोपनीय (NDA) — समझौते के बाद विवरण
— स्थिर और SPA साइटों का मिश्रण
डिलिवरेबल्स
— परीक्षणों के साथ स्रोत कोड
— डॉकर कंपोज़ कॉन्फ़िगरेशन
— डेटाबेस स्कीमा माइग्रेशन
— रनबुक और निगरानी सेटअप