robots.txt क्या है? नियम, क्षेत्र, और क्रॉलर व्यवहार

robots.txt क्या है? नियम, क्षेत्र, और क्रॉलर व्यवहार

Scrapeless Scraping Browser ब्राउज़र-आधारित डेटा वर्कफ़्लो का समर्थन करता है जिसे सार्वजनिक पृष्ठों की अनुमति मांगने से पहले robots.txt की जांच करनी और सम्मान करना चाहिए।

TL;DR

  • Robots.txt वेब पेजों या वेब सिस्टमों के व्यवहार के एक प्रेक्षणीय हिस्से का वर्णन करता है। उपयोगी परिभाषा अवधारणा को डेटा, स्थिति, और अनुरोधों से जोड़ती है जिसे एक वर्कफ़्लो सत्यापित कर सकता है।
  • प्रतिक्रिया HTML और ब्राउज़र स्थिति एक दूसरे के लिए आदान-प्रदान योग्य नहीं हैं। कुछ मान तुरंत उपलब्ध हैं, जबकि अन्य को रेंडरिंग, इंटरैक्शन, या बाद की संरचित प्रतिक्रिया की आवश्यकता होती है।
  • पूर्ण डेटा लौटाने के लिए सबसे हल्का तरीका चुनें। जब HTML पर्याप्त हो, तो उसे पार्स करें, जब उपयुक्त हो, संरचित अनुरोधों का निरीक्षण करें, और जब ब्राउज़र निष्पादन आवश्यक हो, तो एक ब्राउज़र का उपयोग करें।
  • पूर्णता को सामग्री साक्ष्य के साथ साबित होना चाहिए। स्थिर पहचानकर्ता, स्पष्ट अंत स्थितियाँ, और स्रोत-विशिष्ट तत्परता की स्थिति निश्चित देरी की तुलना में सुरक्षित हैं।
  • जिम्मेदार संग्रह प्रकाशित पहुंच नियमों और क्षमता का सम्मान करता है। सार्वजनिक दृश्यता नियमों, कानूनी दायित्वों, रोबोट निर्देशों, या दर नियंत्रणों को समाप्त नहीं करती है।

Robots.Txt क्या है?

robots.txt एक सरल-पाठ फ़ाइल है जिसके माध्यम से एक साइट स्वचालित उपयोगकर्ता एजेंटों के लिए क्रॉल निर्देश प्रकाशित करती है। यह सामान्यतः एक मेज़बान की जड़ में रहता है, जैसे https://example.com/robots.txt। एक अनुपालन करने वाला क्रॉलर फ़ाइल को लाता है, उस समूह का चयन करता है जो इसके उपयोगकर्ता-एजेंट टोकन से मेल खाता है, और कवर किए गए URL अनुरोध करने से पहले अनुमति या अस्वीकृति के नियम लागू करता है।

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

robots.txt भी एक विश्वसनीय noindex निर्देश प्रदान नहीं करता है। यदि एक क्रॉलर एक अस्वीकृत पृष्ठ को प्राप्त नहीं कर सकता है, तो वह उस पृष्ठ के भीतर पृष्ठ-स्तरीय अनुक्रमण निर्देश नहीं पढ़ सकता है। साइट मालिकों को चाहिए कि वे खोज से सार्वजनिक URL को बाहर करने के लिए समर्थित अनुक्रमण नियंत्रणों का उपयोग करें जबकि क्रॉलर को उन्हें पढ़ने की अनुमति दें, या पूरी तरह से पहुंच सीमित करें।

मुख्य भेद व्यावहारिक है: एक डेटा वर्कफ़्लो को उस परत को पहचानना चाहिए जो लक्ष्य मान का स्वामित्व रखती है। वह परत दस्तावेज़ प्रतिक्रिया, ब्राउज़र मेमोरी, एक रेंडर्ड नोड, एक बैकग्राउंड प्रतिक्रिया, या एक सर्वर-साइड नीति हो सकती है। एक बार जब परत ज्ञात हो जाती है, तो वर्कफ़्लो अपेक्षाओं के साथ कम विचारों के साथ मान को इकट्ठा कर सकता है और इसे उपयोगकर्ताओं द्वारा वास्तव में प्राप्त पृष्ठ व्यवहार के खिलाफ मान्य कर सकता है।

robots.txt कैसे काम करता है

जब प्रक्रिया को प्रेक्षणीय चरणों में विभाजित किया जाता है, तो robots.txt के बारे में सोचना आसान हो जाता है। प्रत्येक चरण सबूत उत्पन्न करता है जो प्रतिक्रिया, ब्राउज़र, नेटवर्क लॉग, या निकाले गए रिकॉर्ड सेट में चेक किया जा सकता है।

क्रॉलर जड़ फ़ाइल का अनुरोध करता है

नियम योजना, मेज़बान, और पोर्ट द्वारा स्कोप्ड होते हैं। एक उपडोमेन पर एक फ़ाइल स्वचालित रूप से दूसरे उपडोमेन को नियंत्रित नहीं करती है।

उपयोगकर्ता-एजेंट समूहों का चयन किया गया है

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

पथों का मूल्यांकन किया जाता है

अनुमति और अस्वीकृति के मान URL पथ पैटर्न का वर्णन करते हैं। विशिष्टता और पैटर्न समर्थन को क्रॉलर की प्रकाशित प्रोटोकॉल व्यवहार के अनुसार लागू किया जाना चाहिए, न कि आकस्मिक उपस्ट्रिंग जांच से अनुमानित किया जाना चाहिए।

Sitemap स्थानों का विज्ञापन किया जा सकता है

Sitemap निर्देश उपयोगकर्ता-एजेंट समूह से स्वतंत्र होते हैं और क्रॉलरों को XML, टेक्स्ट, या फीड आविष्कारों की ओर इंगित कर सकते हैं।

फ़ेच विफलताएँ नीति की आवश्यकता

एक क्रॉलर को गायब, पहुँच से बाहर, विकृत, या अस्थायी रूप से अनुपलब्ध फ़ाइलों के लिए सतर्क व्यवहार को परिभाषित करना चाहिए और लागू मानकों और अपने स्वयं के प्रकाशित पहचान का पालन करना चाहिए।

ये चरण ओवरलैप, दोहराव, या विभिन्न प्रणालियों द्वारा संभाले जा सकते हैं। इसलिए, निष्कर्षण योजना को वास्तविक अनुरोध और स्थिति अनुक्रम का पालन करना चाहिए, न कि यह मानना कि एक पृष्ठ-लोड घटना पूरी जीवनचक्र का प्रतिनिधित्व करती है। ब्राउज़र डेवलपर उपकरण उपयोगी होते हैं क्योंकि वे दस्तावेज़, नेटवर्क, संग्रहण, और चलते समय के दृश्यों को एक साथ प्रदर्शित करते हैं।

मुख्य रूप और संबंधित अवधारणाएँ

निम्नलिखित भेद सामान्य श्रेणी की गलतियों को रोकते हैं। वे टीमों को नौकरी के लिए एक पार्सर, HTTP क्लाइंट, ब्राउज़र, शेड्यूलर, या क्रॉल नीति चुनने में भी मदद करते हैं।

अवधारणायह क्या दर्शाती हैसाधारण उपयोग
robots.txtनियंत्रित करता है कि कौन से URLs अनुपालन करने वाले एजेंट अनुरोध करते हैंहोस्ट-स्तरीय क्रॉल प्रबंधन
रोबोट मेटा टैगएक HTML पृष्ठ के लिए अनुक्रमण और प्रस्तुति को नियंत्रित करता हैपृष्ठ-स्तरीय खोज निर्देश
X-Robots-TagHTTP हेडर में अनुक्रमण निर्देश भेजता हैHTML और गैर-HTML संसाधन
प्रमाणनअनधिकृत पहुँच को रोकता हैनिजी या संवेदनशील सामग्री

एक लेबल तब ही उपयोगी होता है जब यह व्यवहार का पूर्वानुमान लगाता है। यदि एक ही साइट पर दो मार्ग विभिन्न स्तरों के माध्यम से डेटा लौटाते हैं, तो उन्हें एक वास्तुशिल्प शब्द से वर्णित करने के बावजूद विभिन्न निष्कर्ष सतहों के रूप में मानें। मार्ग-स्तरीय अवलोकन एक डोमेन-व्यापी अनुमान को मात देता है।

यह वेब स्क्रैपिंग और डेटा संग्रह के लिए क्यों महत्वपूर्ण है

जब वे गलत स्तर को पढ़ता है, तो वेब संग्रह चुपचाप विफल होता है। एक पार्सर मान्य एचटीएमएल लौट सकता है जिसमें लक्षित रिकॉर्ड नहीं होते। एक ब्राउज़र एक विश्वसनीय शेल प्रदर्शित कर सकता है जबकि आवश्यक अनुरोध अस्वीकार कर दिया जाता है। एक अनुक्रम पूर्ण बैच लौटा सकता है जबकि समान रिकॉर्ड को दोहराता है। नीचे दिए गए जांचें robots.txt को डेटा गुणवत्ता से जोड़ती हैं न कि उपकरण प्राथमिकता से।

हर होस्ट के लिए प्रीफ्लाइट

क्रॉल करने से पहले सही robots फ़ाइल को लीजिए और पार्स कीजिए। इसे एक उचित अवधि के लिए कैश करें और क्रॉलर की नीति के अनुसार ताज़ा करें।

मेल खाने वाले नियम को रिकॉर्ड करें

प्रत्येक छोड़े गए URL के लिए, उस यूजर-एजेंट समूह और नियम को संग्रहीत करें जिसने निर्णय लिया। यह अनुपालन निर्णयों को ऑडिटेबल बनाता है।

खोज को fetching से अलग करें

एक साइटमैप या लिंक एक निषिद्ध URL का पता लगा सकता है, लेकिन खोज इसे अनुरोध करने की अनुमति नहीं देती। इसे फ़ेच कतार से बाहर रखें।

धीमी गति के साथ संयोजन करें

एक अनुमत पथ असीमित ट्रैफ़िक भेजने का आमंत्रण नहीं है। पथ नियमों के साथ-साथ सतर्क सहसंबंधता और दर नियंत्रण लागू करें।

एक ब्राउज़र उस निर्णय वृक्ष के भीतर एक विकल्प है। Scrapeless Scraping Browser उत्पाद पृष्ठ प्रबंधित ब्राउज़र सतह का वर्णन करता है, जबकि Scraping Browser प्रारंभिक दस्तावेज़ीकरण कनेक्शन और सत्र पैरामीटर को कवर करता है। केवल उन राज्यों के लिए ब्राउज़र रेंडरिंग का उपयोग करें जिन्हें ब्राउज़र क्रियान्वयन की आवश्यकता है, और पहले से उपलब्ध सामग्री के लिए सरल फ़ेच-और-पार्स पथ रखें।

एक व्यावहारिक नैदानिक कार्यप्रवाह

एक विश्वसनीय निदान तुलना से शुरू होता है, स्वचालन कोड नहीं। पहले प्रतिक्रिया को संरक्षित करें, लाइव इंटरफेस का अवलोकन करें, और प्रत्येक लक्षित क्षेत्र को उस घटना या संसाधन से जोड़ें जो इसे बनाता है।

  1. सटीक मूल का समाधान करें, जिसमें स्कीम, होस्टनाम और पोर्ट शामिल हैं, फिर /robots.txt अनुरोध करें बिना किसी अन्य होस्ट के नियम का पालन किए।
  2. क्रॉलर के असली यूजर-एजेंट टोकन की पहचान करें और सबसे उपयुक्त समूह का चयन करें। किसी अन्य क्रॉलर के रूप में दिखावा न करें ताकि एक अलग नीति प्राप्त की जा सके।
  3. बिना अर्थ बदलने के मेल खाने के लिए URL पथ को सामान्य करें। क्वेरी स्ट्रिंग और एन्कोडेड वर्णों को प्रोटोकॉल-जानकारी संभालने की आवश्यकता होती है।
  4. प्रतिनिधि अनुमत, निषिद्ध और ओवरलैपिंग पथों का परीक्षण करें। खाली मानों, वाइल्डकार्ड और स्पष्ट अनुमतियों जैसे किनारे के मामलों के लिए स्थिरता रखें।
  5. नेविगेशन से पहले निर्णय लॉग करें और यह सुनिश्चित करें कि डाउनस्ट्रीम ब्राउज़र इंटरएक्शन निषिद्ध पथ में लिंक, रीडायरेक्ट या फॉर्म क्रियाओं के माध्यम से पार न करें।

परिणाम को एक छोटे निष्कर्ष अनुबंध के रूप में दस्तावेजित करें: लक्षित URL पैटर्न, सार्वजनिक संदर्भ, स्रोत स्तर, तत्परता की स्थिति, चयनकर्ता या प्रतिक्रिया क्षेत्र, अद्वितीय कुंजी, निरंतरता नियम, समाप्ति नियम, और मान्यता जांच। यह अनुबंध तब अधिक टिकाऊ होता है जब यह एक स्क्रिप्ट होती है जिसमें एक ही धारणाएं होती हैं, बिना उन्हें नामित किए।

अनुबंध को परिभाषित करते समय प्राथमिक तकनीकी दस्तावेज़ों से सबूत का उपयोग करें। इस विषय के लिए प्रासंगिक नींव में शामिल हैं RFC 9309 Robots Exclusion Protocol Google robots.txt परिचय।वे स्रोत प्लेटफॉर्म और प्रोटोकॉल व्यवहार का वर्णन करते हैं; लक्षित साइट के लाइव व्यवहार को अभी भी अपने स्वयं के अवलोकन की आवश्यकता होती है।

सामान्य गलतियाँ

robots.txt के आसपास अधिकांश विफलताएँ एक सुविधाजनक संकेत को उस वास्तविक स्थिति के लिए विकल्प बनाने से आती हैं जिसकी कार्यप्रवाह को आवश्यकता होती है। निम्नलिखित गलतियाँ संभावित आउटपुट लौटा सकती हैं, जो उन्हें स्पष्ट त्रुटियों की तुलना में अधिक खतरनाक बनाती हैं।

  • गुप्त को सुरक्षा देने के लिए robots.txt का उपयोग पथ नामों को उजागर करता है बिना पहुँच नियंत्रण को लागू किए।
  • मान लेना कि disallow का अर्थ noindex होता है क्रॉलिंग को इंडेक्सिंग के साथ भ्रमित करता है।
  • एक होस्ट की फ़ाइल को सभी उपडोमेन पर लागू करना या तो ओवरब्लॉक कर सकता है या ऐसे पृष्ठों का अनुरोध कर सकता है जिन्हें दूसरों द्वारा अस्वीकार किया गया है।
  • रीडायरेक्ट और एम्बेडेड संसाधनों की अनदेखी करना एक स्वचालित ब्राउज़र को इच्छित दायरे के बाहर पथों का अनुरोध करने की अनुमति दे सकता है।
  • एक अनुपलब्ध फ़ाइल के साथ एकमात्र अनुपालन प्रश्न के रूप में व्यवहार करना शर्तें, कानून, सर्वर लोड और डेटा संवेदनशीलता को अनदेखा करता है।

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

एक संभालने योग्य कार्यप्रवाह के लिए सर्वश्रेष्ठ प्रथाएँ

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

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

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

सीमित कार्य का उपयोग करें। हर रन के लिए अधिकतम पृष्ठ, स्क्रॉल क्रियाएँ, सक्रिय अनुरोध, और रिकॉर्ड परिभाषित करें। सीमाएँ लक्षित सेवा और संग्रह प्रणाली की सुरक्षा करती हैं जब अगली नियंत्रण लूप्स, एक कर्सर दोहराता है, या एक पृष्ठ अप्रत्याशित क्रॉल स्पेस बनाता है।

प्रकाशक और उपयोगकर्ता का सम्मान करें। जहां लागू हो वहां robots.txt की जांच करें, शर्तों और कानून का पालन करें, केवल एक निर्धारित उद्देश्य के लिए आवश्यक सार्वजनिक क्षेत्रों को एकत्र करें, निजी या प्रतिबंधित क्षेत्रों से बचें, और अनुरोध की मात्रा को एक संयमित सीमा के भीतर रखें। तकनीकी पहुंच हर उपयोग के लिए अधिकृत नहीं है।

निष्कर्ष

Robots.txt एक परिचालन मॉडल के रूप में सबसे उपयोगी है: पहचानें कि डेटा कहां स्थित है, यह राज्य कैसे उत्पन्न होता है, और सबसे छोटे संग्रह विधि का चयन करें जो इसे पुन: उत्पन्न कर सके। सबसे मजबूत कार्यप्रवाह स्रोत और प्रस्तुत राज्यों की तुलना करता है, स्पष्ट निरंतरता संकेतों का पालन करता है, और स्थायी कुंजी के साथ रिकॉर्ड को मान्य करता है।

एक प्रतिनिधि URL से शुरू करें और स्केलिंग से पहले निष्कर्षण अनुबंध लिखें। वह छोटा कदम छिपी हुई समय, रूटिंग, पृष्ठांकन, और नीति धारणाओं का उजागर करता है जबकि वे अभी भी ठीक करने में सस्ते हैं। केवल तभी स्केल करें जब कार्यप्रवाह यह समझा सके कि प्रत्येक रिकॉर्ड क्यों पूर्ण है और प्रत्येक क्षेत्र कहां से आया।

जावास्क्रिप्ट-चालित पृष्ठों का निरीक्षण करने के लिए तैयार हैं?

जब एक सार्वजनिक पृष्ठ ब्राउज़र निष्पादन, इंटरैक्शन, या प्रस्तुत-राज्य निरीक्षण की आवश्यकता करता है तो Scrapeless Scraping Browser का उपयोग करें।

फ्री शुरू करें →

अक्सर पूछे जाने वाले प्रश्न

साधारण शब्दों में robots.txt क्या है?

robots.txt एक रूट-स्तरीय पाठ फ़ाइल है जो अनुपालन करने वाले स्वचालित क्रॉलर्स को बताती है कि कौन से URL पथों का वे अनुरोध कर सकते हैं और कौन से नहीं।

क्या robots.txt किसी पृष्ठ को निजी बनाता है?

नहीं। यह एक स्वैच्छिक क्रॉल निर्देश है, न कि पहुंच नियंत्रण। निजी सामग्री के लिए प्रमाणीकरण और अधिकृतता का उपयोग करें।

क्या Disallow किसी पृष्ठ को खोज परिणामों से हटा देता है?

नहीं। Disallow क्रॉलिंग को रोकता है, इसलिए क्रॉलर पृष्ठ पर 'noindex' निर्देश को पढ़ने में असमर्थ हो सकता है। समर्थित अनुक्रमण नियंत्रणों का उपयोग करें या पहुंच को सीमित करें।

क्या एक स्क्रैपर को robots.txt का पालन करना चाहिए?

एक जिम्मेदार क्रॉलर को अपनी पहचान बतानी चाहिए, लागू फ़ाइल की जांच करनी चाहिए, इसके नियमों का सम्मान करना चाहिए, और शर्तों, कानूनी आवश्यकताओं, और सर्वर क्षमता का भी सम्मान करना चाहिए।

संदर्भ