Log in to leave a comment
No posts yet
यदि आप वेब पेज के HTML को केवल टेक्स्ट के रूप में स्क्रैप करते हैं, तो AI एजेंट रास्ता भटक जाता है। टेक्स्ट तो दिखाई देता है, लेकिन दस्तावेज़ का पदानुक्रम (hierarchy) गायब हो जाता है। 2024 में प्रकाशित शोध डेटा के अनुसार, दस्तावेज़ की पदानुक्रमित संरचना को सुरक्षित रखने वाली विधि केवल टेक्स्ट को काटने की तुलना में खोज सटीकता को 30% से अधिक बढ़ा देती है। मेरा मानना है कि मुख्य बात यह है कि एजेंट हेडर जानकारी को देखकर डेटा के महत्व को तुरंत समझ सके।
सबसे पहले आपको BeautifulSoup के get_text() का उपयोग बंद करना चाहिए। इसके बजाय, HTML टैग्स को मार्कडाउन हेडर में मैप करने के लिए Markdownify लाइब्रेरी का उपयोग करें। रूपांतरित मार्कडाउन को हेडर इकाइयों में विभाजित करें और एक 'पैरेंट-चाइल्ड चंकिंग' (parent-child chunking) रणनीति का उपयोग करें जो पूरे उच्च-स्तरीय अनुभाग को संदर्भ (context) के रूप में प्रदान करती है। Trafilatura लाइब्रेरी का उपयोग करके, आप मुख्य सामग्री निकालते समय टोकन खपत को 67% तक कम कर सकते हैं। यह लागत बचाने और सटीकता बढ़ाने का सबसे विश्वसनीय तरीका है।
जावास्क्रिप्ट के साथ लागू किए गए टैब मेनू या एकॉर्डियन के पीछे छिपे डेटा को स्थिर क्रॉलर कभी नहीं पढ़ सकते। मेरा मानना है कि यह अदृश्य डेटा RAG सिस्टम के उत्तरों की गुणवत्ता को खराब करने वाला मुख्य अपराधी है। Playwright ब्राउज़र के मूल प्रोटोकॉल CDP से सीधे जुड़ता है, इसलिए यह Selenium की तुलना में अधिक तेज़ी और मजबूती से डायनेमिक सामग्री को नियंत्रित करता है। वास्तविक अनुप्रयोगों में, ऑटोमेटेड क्लिक सीक्वेंस वाले सिस्टम ने मैन्युअल संग्रह की तुलना में 30% अधिक डेटा सुरक्षित किया है।
Playwright आधारित ऑटोमेशन लॉजिक बनाते समय, page.wait_for_selector फ़ंक्शन को लूप में चलाएं। जब तक क्लिक करने योग्य तत्व स्क्रीन पर दिखाई न दें, तब तक प्रतीक्षा करना सुनिश्चित करें। उसके बाद, अनंत स्क्रॉल या AJAX अनुरोधों को बाध्य करने के लिए scroll_into_view_if_needed() मेथड को कॉल करें। प्रत्येक टैब पर क्रमिक रूप से क्लिक करें और वास्तविक समय में परिवर्तित DOM स्थिति को कैप्चर करके सहेजें। इस प्रक्रिया के बाद ही बिना किसी डेटा हानि के एक पूर्ण डेटाबेस तैयार होता है।
विज्ञापन, फुटर और मेनू बार एजेंट की कॉन्टेक्स्ट विंडो को बर्बाद करते हैं और एम्बेडिंग वेक्टर को दूषित करते हैं। वेबसाइट का शोर आपकी सोच से कहीं अधिक गंभीर है, और अपरिष्कृत डेटा AI के लिए ज़हर के समान है। Readability.js टेक्स्ट और लिंक के घनत्व का विश्लेषण करता है ताकि केवल वास्तविक जानकारी वाली मुख्य सामग्री को चुना जा सके। बेंचमार्क परिणामों में, Readability ने सभी प्रकार के पेजों पर 0.970 का प्रदर्शन स्कोर दर्ज किया, जो मुख्य सामग्री के अलावा अन्य तत्वों को सटीक रूप से हटा देता है।
इस एल्गोरिदम को अपने डेटा क्लीनिंग पाइपलाइन में शामिल करें। एकत्रित HTML को Readability.js में डालें, शीर्षक और मुख्य भाग को फ़िल्टर करें, और फिर रेगुलर एक्सप्रेशन का उपयोग करके अनावश्यक खाली स्थानों (spaces) को हटा दें। यदि आप इस तरह से परिष्कृत टेक्स्ट को मार्कडाउन में बदलकर सहेजते हैं, तो एजेंट द्वारा पढ़े जाने वाले डेटा की मात्रा 90% तक कम हो जाती है। खोज प्रासंगिकता 2.29 गुना बढ़ जाती है। जबरदस्ती बहुत सारा डेटा डालने के बजाय साफ़-सुथरा डेटा डालना कहीं अधिक कुशल है।
अधिकांश वेबसाइटें navigator.webdriver फ्लैग को देखकर AI एजेंटों की पहुंच को रोक देती हैं। यदि आप कैप्चा (CAPTCHA) स्क्रीन का सामना नहीं करना चाहते हैं, तो 'स्टेल्थ' (stealth) रणनीति अनिवार्य है। मशीनी हलचल का तुरंत पता चल जाता है। मेरा मानना है कि गणितीय रूप से मानवीय व्यवहार की नकल करना सबसे स्मार्ट समाधान है।
सबसे पहले, playwright-stealth प्लगइन का उपयोग करके वेबड्राइवर फ्लैग को हटा दें और यूजर एजेंट को नवीनतम क्रोम संस्करण के रूप में दिखाएं। माउस को घुमाते समय, सीधी रेखा के बजाय बेज़ियर वक्र (Bezier curve) का उपयोग करें।
टाइप करते समय भी, प्रत्येक वर्ण के बीच 50ms से 200ms का यादृच्छिक विलंब (random delay) जोड़ें। पेज बदलते समय 2 से 5 सेकंड का रैंडम ब्रेक लेने मात्र से आप एंटी-बॉट सिस्टम की नज़र से बच सकते हैं। यह थोड़ा धीमा लग सकता है, लेकिन ब्लॉक होकर बिल्कुल भी डेटा न जुटा पाने की तुलना में यह बहुत तेज़ है।