कॉली क्या है?
Scrapeless Proxies HTTP संग्रहण कार्यप्रवाहों के लिए प्रॉक्सी ढांचा प्रदान करते हैं, जो कोली जैसे गो उपकरणों के साथ बनाए जाते हैं।
Colly एक वेब स्क्रैपिंग ढांचा है जो Go के लिए HTTP संग्रह को एक कलेक्टर और इवेंट कॉलबैक के चारों ओर व्यवस्थित करता है। यह पृष्ठों को अनुरोध कर सकता है, प्रतिक्रियाओं को संसाधित कर सकता है, HTML या XML सामग्री का चयन कर सकता है, और स्थापित नियमों के तहत खोजे गए लिंक का पालन कर सकता है। आपका अनुप्रयोग निष्कर्षण लॉजिक प्रदान करता है और यह तय करता है कि कौन से परिणाम वैध हैं।
Colly तब उपयोगी होता है जब किसी Go प्रोजेक्ट को एक साधारण HTTP अनुरोध और पार्सर की तुलना में अधिक समन्वय की आवश्यकता होती है। यह ढांचा नेटवर्क गतिविधियों और पृष्ठ-प्रसंस्करण अनुरक्ताओं को एक जीवनचक्र में लाता है। यह एक HTTP-उन्मुख संग्रहकर्ता बना रहता है, इसलिए एक पृष्ठ जिसे आवश्यक सामग्री केवल जावास्क्रिप्ट निष्पादन के बाद दिखाई देती है, के लिए एक अतिरिक्त अधिग्रहण दृष्टिकोण की आवश्यकता होती है।
एक कोली कलेक्टर क्या करता है?
एक कोली कलेक्टर नेटवर्क संचार का प्रबंधन करता है और संग्रह के प्रगति के रूप में पंजीकृत कॉलबैक को पहचानता है। कोली कॉलबैक जीवनचक्र प्रस्तुत करता है हुक अनुरोध से पहले, प्रतिक्रिया के बाद, HTML या XML निष्कर्षण के दौरान, और प्रतिक्रिया निकालने के बाद। यह कार्यक्रम को उस स्तर पर व्यवहार संलग्न करने की अनुमति देता है जहाँ यह संबंधित होता है।
एक अनुरोध कॉलबैक गंतव्य को रिकॉर्ड कर सकता है और अनुमति प्राप्त अनुरोध संदर्भ को संलग्न कर सकता है। एक प्रतिक्रिया कॉलबैक यह निरीक्षण कर सकता है कि क्या आया। एक HTML कॉलबैक प्रासंगिक तत्वों का चयन कर सकता है और रिकॉर्ड तैयार कर सकता है। एक त्रुटि कॉलबैक उस कारण को बनाए रख सकता है जिस कारण एक अनुरोध उपयोगी प्रतिक्रिया उत्पन्न नहीं कर सका। इन कॉलबैक के पास स्पष्ट जिम्मेदारियाँ होनी चाहिए न कि प्रत्येक को पूरे पाइपलाइन को चलाने का प्रयास करना चाहिए।
कलेक्शन शुरू करने से पहले कॉलबैक पंजीकरण करें। एक बार जब अनुरोध शुरू हो जाएं, तो प्रोग्राम को पहले से ही यह पता होना चाहिए कि पृष्ठों को कैसे वर्गीकृत करना है और स्वीकृत रिकॉर्ड कहां भेजने हैं। कॉलबैक पंजीकरण को शुरुआत के हिस्से के रूप में मानने से संग्रहकर्ता के व्यवहार को अधिक पूर्वानुमानित बनाता है जब काम बाद में असिंक्रोनस हो जाता है।
खोज और निष्कर्षण अलग निर्णय होते हैं
डिस्कवरी यह तय करती है कि कौन सी यूआरएल अनुरोध की जाएं, जबकि निष्कर्षण यह तय करता है कि स्वीकार की गई पृष्ठ से कौन से फ़ील्ड पढ़ें। कोली दोनों को कॉलबैक्स के जरिए कर सकता है, लेकिन उनके नियमों को बिना किसी विवेक के संयोजित करने से क्रॉल को लक्षित डेटा सेट से कहीं अधिक विस्तारित किया जा सकता है। एक लिंक स्वचालित रूप से एक उपयोगी या स्वीकृत संग्रह लक्ष्य नहीं होता है।
एक सार्वजनिक दस्तावेज़ अनुक्रमणिका के लिए, एक पृष्ठ में लेख लिंक, नेविगेशन लिंक, भाषा चयनकर्ता और अप्रासंगिक बाहरी संसाधन शामिल हो सकते हैं। खोज प्रतिक्रिया को इच्छित लेख पथ को पहचानना चाहिए और वर्तमान पृष्ठ के खिलाफ सापेक्ष संदर्भों को हल करना चाहिए। इसे हर एंकर का पालन नहीं करना चाहिए केवल इसलिए कि एंकर के पास एक पता है।
निष्कर्ष तब शुरू होता है जब पृष्ठ प्रकार स्थापित किया जाता है। एक दस्तावेज़ लेख को एक शीर्षक और एक मुख्य-सामग्री क्षेत्र की आवश्यकता हो सकती है। ये चयनकर्ता लेख तक ही सीमित होने चाहिए, न कि नेविगेशन शीर्षकों तक। स्रोत यूआरएल को निकाले गए रिकॉर्ड के साथ सहेजें ताकि किसी आश्चर्यजनक परिणाम को उसके दस्तावेज़ के साथ वापस ट्रेस किया जा सके।
इन निर्णयों को अलग करना रखरखाव में भी सुधार करता है। एक redesigned index लिंक खोज को बदल सकता है जबकि लेख निकालना वैध रहता है। एक नया लेख टेम्पलेट निकालने को बदल सकता है जबकि अनुमोदित URL पैटर्न स्थिर रहता है। अलग-अलग कार्य और परिणाम श्रेणियाँ उन अंतर को स्पष्ट बनाती हैं।
स्कोप नियंत्रण एक क्रॉल को सीमित रखें
Colly डोमेन, URL फ़िल्टर, गहराई, और अन्य संग्रहण व्यवहार के लिए कॉन्फ़िगरेशन प्रदान करता है। ये नियंत्रण यह परिभाषित करने में मदद करते हैं कि संग्रहकर्त्ता कहां जा सकता है और खोज कितनी दूर हो सकती है। Colly कॉन्फ़िगरेशन मॉडल यह भी एप्लिकेशन और वातावरण सेटिंग्स का समर्थन करता है, इसलिए प्रभावशाली कॉन्फ़िगरेशन की समीक्षा अवश्य होनी चाहिए जब कोई कार्य वातावरण के बीच स्थानांतरित होता है।
अनुमत डोमेन एक सीमा बनाते हैं, लेकिन कई वेबसाइटें एक डोमेन के भीतर प्रभावी रूप से अंतहीन क्वेरी पैरामीटर के संयोजनों को उजागर करती हैं। क्रमबद्ध करना, फ़िल्टर करना, और कैलेंडर नियंत्रक ऐसे विशिष्ट URL उत्पन्न कर सकते हैं जो उपयोगी रिकॉर्ड नहीं जोड़ते हैं। यह परिभाषित करें कि किस पथ और पैरामीटर संग्रह में शामिल हैं, और एक स्पष्ट अंत स्थिति चुनें।
अनुरोध डिडुप्लिकेशन और रिकॉर्ड डिडुप्लिकेशन विभिन्न वस्तुओं का पता लगाते हैं। एक विज़िट की गई-यूआरएल तंत्र समान अनुरोध पहचान के लिए दोबारा नेटवर्क कार्य से बचता है। दो भिन्न यूआरएल अभी भी एक ही लेख का प्रतिनिधित्व कर सकते हैं। आउटपुट डेटासेट को डिडुप्लिकेट करते समय लेख के स्थिर पहचानकर्ता या स्वीकृत कैनोनिकल पते का उपयोग करें।
छोड़े गए कार्य को दृश्यमान रखें। एक URL जो स्वीकृत दायरे से बाहर होने के कारण अस्वीकार किया गया है, उसे विफल डाउनलोड के रूप में नहीं गिना जाना चाहिए। एक मान्य URL जिसमें आवश्यक सामग्री का अभाव है, उसे सफलतापूर्वक संग्रहित के रूप में नहीं गिना जाना चाहिए। ये भेद एक रन रिपोर्ट कवरेज को तकनीकी असफलताओं के साथ नीतिगत निर्णयों को भ्रमित किए बिना सटीक रूप से प्रस्तुत करने की अनुमति देते हैं।
असिंक्रोनस कोली को एक स्पष्ट समाप्ति बिंदु की आवश्यकता होती है
असिंक्रोनस कॉल्ली अनुरोधों को ओवरलैप कर सकता है, लेकिन एप्लिकेशन को बाहर निकलने से पहले संग्रहकर्ता का काम पूरा होने की प्रतीक्षा करनी चाहिए। ढांचे के असिंक्रोनस उदाहरण संग्रहण को वेट और डोमेन-विशिष्ट सीमा नियमों के साथ जोड़ते हैं। अनुरोध प्रारंभ करना और कार्यक्रम से तुरंत लौटना काम को अधूरा छोड़ सकता है।
translated text does not seem to be complete. Please provide the full text that you would like to have translated. कोली समांतरता और देरी उदाहरण दिखाता है कि कैसे सीमा नियम मिलान गंतव्यों को नियंत्रित करते हैं। स्रोत और आपकी प्रसंस्करण क्षमता के चारों ओर सीमाओं का चयन करें। एक वैश्विक कार्यकर्ता सेटिंग अकेले कई मेज़बानों की अलग-अलग जरूरतों या आपके आउटपुट लेखक की क्षमता को व्यक्त नहीं कर सकती है।
कॉलबैक जो समवर्ती रूप से चल रहे हैं वे साझा एप्लिकेशन राज्य को भी प्रभावित कर सकते हैं। एक साझा परिणाम संरचना में जोड़ना, एक काउंटर को अपडेट करना, या एक फ़ाइल में लेखन करने के लिए एक योजनाबद्ध स्वामित्व मॉडल की आवश्यकता होती है। गो का डेटा दौड़ डिटेक्टर सहायता करता है परीक्षण के दौरान असमसमान संतुलन पहुँच की पहचान करने में। ढांचा-प्रबंधित नेटवर्किंग स्वचालित रूप से आपके कॉलबैक में हर चर को सुरक्षित नहीं बनाता है।
एक प्रस्तुतिकरण दस्तावेज़ क्रॉल
एक दस्तावेज़ क्रॉल कोली का उपयोग स्वीकृत लेख पृष्ठों का पता लगाने और प्रत्येक से एक छोटा, स्थिर रिकॉर्ड निकालने के लिए कर सकता है। मान लें कि इच्छित आउटपुट में एक लेख पता, शीर्षक, अनुभाग लेबल, और मुख्य पाठ शामिल हैं। यह उदाहरण डिज़ाइन का वर्णन करता है; यह पृष्ठों या परिणामों की मापी गई संख्या का दावा नहीं करता।
- एक ज्ञात दस्तावेज़ सूची के साथ शुरू करें और अनुमत होस्ट और लेख पथ पैटर्न को परिभाषित करें।
- भाषा या छंटाई बदलने वाली नेविगेशन क्रियाओं को बाहर करते हुए मिलते-जुलते लेख लिंक खोजें।
- प्रत्येक गंतव्य का समाधान करें और इसे केवल तभी स्वीकार करें जब यह चुने गए दायरे के भीतर रहता है।
- प्रतिक्रिया को एक लेख के रूप में वर्गीकृत करें इससे पहले कि शीर्षक और मुख्य सामग्री क्षेत्र का चयन करें।
- आवश्यक क्षेत्रों की मान्यता करें और स्वीकार किए गए रिकॉर्ड को एक नियंत्रित आउटपुट लेखक को भेजें।
- संग्रह के समाप्त होने की प्रतीक्षा करें और स्वीकार किए गए, अस्वीकृत, और अधूरे कार्यों की रिपोर्ट अलग से करें।
जब सूची जानकारी प्रदान करती है जिसे लेख दोहराता नहीं है, जैसे अनुभाग लेबल, तो अनुरोध के साथ संदर्भ बनाए रखें।_completion_order पता नहीं करता कि खोज क्रम से मेल खाता है। समानांतर अनुरोध एक अलग अनुक्रम में समाप्त हो सकते हैं, इसलिए एरे स्थिति द्वारा रिकॉर्ड को जोड़ना एक लेख से गलत अनुभाग को जोड़ सकता है।
एक स्पष्ट परिणाम प्रकार का उपयोग करें। एक गायब शीर्षक को एक मान्यता परिणाम में बदल दिया जाना चाहिए, न कि एक खाली शीर्षक को खामोशी से संग्रहण में लिखा जाना चाहिए। यदि मुख्य क्षेत्र में एक तालिका शामिल है, तो तय करें कि क्या डेटा सेट को इसकी संरचित पंक्तियों की आवश्यकता है या केवल पठनीय पाठ। यह निर्णय संग्रहित शुरू होने से पहले रिकॉर्ड अनुबंध में होना चाहिए।
कोली की तुलना बिना ब्राउज़र के गो क्लाइंट से
कोली संग्रह जीवनचक्र और खोज समन्वय को सामान्य HTTP संचार के ऊपर जोड़ता है। एक बुनियादी गो HTTP क्लाइंट निश्चित अंत बिंदु सूची के लिए पर्याप्त हो सकता है। कोली उपयोगी हो जाता है जब पृष्ठ कॉलबैक, लिंक फॉलोइंग, और साझा संग्रह सेटिंग्स की आवश्यकता होती है।
| पास | सर्वश्रेष्ठ मिलान | ऐप्लीकेशन जिम्मेदारी |
|---|---|---|
| गो HTTP क्लाइंट | प्रशिक्षित अनुरोधों को ज्ञात अंत बिंदु सेट में भेजें | आवश्यकतानुसार अनुसूची और पार्सिंग बनाएं। |
| कोली | HTTP क्रॉल के साथ खोज और कॉलबैक | दायरा, निष्कर्षण, और आउटपुट गुणवत्ता परिभाषित करें। |
| ब्राउज़र स्वचालन | पृष्ठ स्क्रिप्ट और इंटरएक्टिव कार्यप्रवाह | क्रियाएँ और आवश्यक पृष्ठ स्थिति परिभाषित करें। |
एक ढांचे का चयन कार्य के समन्वय की आवश्यकताओं के अनुसार होना चाहिए। एक छोटा निश्चित फीड क्रॉल मशीनरी से लाभ नहीं उठा सकता है। एक दस्तावेज़ ग्राफ जिसमें विस्तृत पृष्ठ और दोहराए गए लेआउट होते हैं अक्सर लाभान्वित होते हैं। एक जावास्क्रिप्ट एप्लिकेशन को एक ब्राउज़र की आवश्यकता हो सकती है, भले ही इसकी यूआरएल ग्राफ सरल हो। केवल भाषा की प्राथमिकता अधिग्रहण आवश्यकता को हल नहीं कर सकती।
कोली संग्रहों के लिए प्रॉक्सी रूटिंग
स्क्रैपलेस प्रॉक्सियों के पास कोली के लिए एक नेटवर्क मार्ग प्रदान कर सकता है जब स्रोत संदर्भ प्रॉक्सी आधारभूत संरचना के लिए कहता है। स्क्रैपलेस प्रॉक्सी परिवार विभिन्न रूटिंग आवश्यकताओं का समर्थन करते हैं, जबकि कोली अनुरोधों और कॉलबैक को प्रबंधित करना जारी रखता है। प्रॉक्सी चयन को उन नियमों से अलग रखें जो वैध लेख पृष्ठों की पहचान करते हैं।
की समीक्षा करें स्क्रैपलेस प्रॉक्सियों का परिचय और स्क्रैपिंग आर्किटेक्चर में प्रॉक्सी सर्वर के संबंध में समझ।
मार्ग चुनने से पहले। सेवा से वर्तमान कॉन्फ़िगरेशन विवरण का उपयोग करें और एकत्रित URL या डिबग आउटपुट में क्रेडेंशियल्स डालने से बचें। एक प्रॉक्सी एक HTTP कलेक्टर के लिए जावास्क्रिप्ट-निर्मित नोड्स नहीं बनाता है। यदि एक कॉलबैक उस सामग्री को नहीं ढूंढ सकता जो केवल ब्राउज़र में मौजूद है, तो प्रतिक्रिया और स्रोत की अधिग्रहण आवश्यकताओं का निरीक्षण करें। चुने गए रूटिंग सेवा के लिए स्क्रैपलेस मूल्य निर्धारण की समीक्षा करें और लागत का अनुमान लगाएं।
निष्कर्ष
कोली गो अनुप्रयोगों को संग्रहकर्ताओं और कॉलबैक के माध्यम से HTTP स्क्रैपिंग को समन्वयित करने का एक संरचित तरीका देता है। पहले खोज के दायरे को परिभाषित करें, निष्कर्षण को हर रिकॉर्ड से बांधें, और असिन्क्रोनस पूर्णता और साझा राज्य स्वामित्व को स्पष्ट बनाएं। एक सफल क्रॉल समझने योग्य कवरेज और मान्य रिकॉर्ड बनाता है, न कि केवल यात्रा किए गए पते की एक लंबी सूची।
अपने गो कलेक्टर के लिए मार्ग की योजना बनाएं
कोली के दायरे और आउटपुट नियमों को स्पष्ट रखते हुए अपने संग्रह आर्किटेक्चर से एक उपयुक्त स्क्रैपलेस प्रॉक्सी सेवा कनेक्ट करें।
आज साइन अप करें और $5 की मुफ्त क्रेडिट प्राप्त करें — क्रेडिट कार्ड की आवश्यकता नहीं है.
अपने $5 क्रेडिट का दावा करें →सामान्य प्रश्न
प्रश्न: क्या कोली जावास्क्रिप्ट निष्पादित करता है?
कोली का सामान्य HTTP संग्रह किसी पृष्ठ की जावास्क्रिप्ट का निष्पादन नहीं करता। इसके HTML कॉलबैक उस प्रतिक्रिया पर काम करते हैं जो इसे प्राप्त होती है। यदि आवश्यक तत्व ब्राउज़र निष्पादन के माध्यम से बनाए जाते हैं, तो केवल HTTP क्रॉल उन्हें केवल चयनकर्ताओं को बदलकर या समांतरता बढ़ाकर प्राप्त नहीं कर सकता।
प्रश्न: क्या कोली केवल एक पार्सर है?
Colly एक स्क्रैपिंग फ्रेमवर्क है जो अनुरोधों और कॉलबैक को समन्वित करता है और साथ ही HTML या XML निष्कर्षण करता है। एक पार्सर अकेले एक प्रदान किए गए दस्तावेज़ पर काम करता है। Colly खोजी गई लिंक्स का पालन भी कर सकता है आपके ऐप्लिकेशन द्वारा परिभाषित संग्रह नियमों के तहत।
प्रश्न: असिंक्रोनस Colly प्रोग्राम बहुत जल्दी क्यों समाप्त होता है?
एक असिंक्रोनस Colly प्रोग्राम जल्दी समाप्त हो सकता है यदि चारों ओर का ऐप्लिकेशन कतारबद्ध अनुरोधों और कॉलबैक पूरा होने से पहले बाहर निकल जाता है। कलेक्टर के पूर्णता तंत्र का उपयोग करें और स्वीकृत परिणामों के लिए आउटपुट लेखक को जीवित रखें। संग्रह की पूर्णता और आउटपुट स्थिरता को संबंधित लेकिन अलग जीवन चक्र चरणों के रूप में व्यवहार करें।
प्रश्न: क्या यूआरएल डिडुप्लिकेशन डुप्लिकेट रिकॉर्ड हटा देता है?
यूआरएल डिडुप्लिकेशन आवश्यक रूप से डुप्लिकेट रिकॉर्ड नहीं हटाता है क्योंकि विभिन्न पते एक ही इकाई का वर्णन कर सकते हैं। एक स्थिर स्रोत पहचानकर्ता या स्वीकृत मानक पते के आधार पर एक अलग आउटपुट पहचान बनाए रखें। जब यह स्पष्ट करने में मदद करता है कि रिकॉर्ड कहाँ से आया, तो खोज संदर्भ को बनाए रखें।