
आधुनिक खोज इंजन स्वतंत्र रूप से जानकारी के विशाल संस्करणों को व्यवस्थित करने में सक्षम हैं, जिससे आप किसी भी विषय पर सामग्री जल्दी से खोज सकते हैं। लेकिन जब एजेंसी डेटाबेस में भर्ती के लिए ऑनलाइन स्टोर या रिक्तियों में सामान की खोज करने की बात आती है, या कार डीलरशिप साइटों पर कार की पेशकश होती है, तो सामान्य रूप से, इंटरनेट पर किसी भी कैटलॉग जानकारी के लिए खोज करने पर, आप खोज इंजन की स्वतंत्रता के बारे में बात नहीं कर सकते, क्योंकि ज्यादातर मामलों में ऐसे अनुरोधों को पूरा करने के लिए। उन्हें एक विशेष प्रारूप में अपनी निर्देशिका (
डेटा फ़ीड ) को अपलोड करने के लिए स्रोत साइटों की आवश्यकता होती है।
स्वचालित रूप से निर्देशिकाओं से ऐसे तथ्य निकालना, जिनमें अर्थ मार्कअप नहीं है, एक कठिन काम है, लेकिन यह अब भी अनियंत्रित पाठ से तथ्यों को निकालने की तुलना में बहुत सरल है।
प्रौद्योगिकी
हमने एक ऐसी तकनीक विकसित की है, जिससे आप पूर्ण-विकसित कैटलॉग-उन्मुख खोज इंजन बना सकते हैं, जिसे किसी भी औपचारिक रूप में डेटा की प्रस्तुति की आवश्यकता नहीं है, और कुछ हद तक असामान्य खोज रोबोट की मदद से, हम किसी भी भाषा में रैंडमली संरचित वेब निर्देशिकाओं से स्वतंत्र रूप से जानकारी निकालने में सक्षम हैं। रोबोट की असामान्य विशेषता यह है कि यह एक जावास्क्रिप्ट प्रोग्राम है जो वेब पृष्ठों का विश्लेषण करता है, उन्हें एक वेब प्रॉक्सी के माध्यम से एक फ्रेम (iframe) में लोड किया जाता है। इस तरह के विवादास्पद निर्णय के कई फायदे हैं।
जावास्क्रिप्ट-रोबोट "साइट" को उसी तरह से देखता है जैसे सामान्य उपयोगकर्ता उन्हें देखते हैं। यह उसे उन साइटों को भी संसाधित करने की अनुमति देता है जिनकी सामग्री आंशिक रूप से या पूरी तरह से जावास्क्रिप्ट से उत्पन्न होती है, और इसलिए, एक नियमित रोबोट के लिए दुर्गम है। इसके अलावा, विभिन्न घटनाओं (उदाहरण के लिए बटन दबाकर) का अनुकरण करने की क्षमता, जावास्क्रिप्ट रोबोट को न केवल गतिशील साइटों को देखने, बल्कि उनके साथ नेविगेट करने की अनुमति देती है।
वेब पेजों का विश्लेषण करते समय, पारंपरिक खोज इंजन मुख्य रूप से सामग्री पर ध्यान केंद्रित करते हैं, डिजाइन (डिजाइन) पर ज्यादा ध्यान दिए बिना। एक निर्देशिका-उन्मुख खोज इंजन रोबोट और भी अधिक चयनात्मक होना चाहिए, इस सामग्री से केवल कुछ तथ्यों को निकालते हुए। कैटलॉग पृष्ठों का विश्लेषण, डिज़ाइन को ध्यान में रखते हुए, या अधिक सटीक रूप से, यह ध्यान में रखते हुए कि उपयोगकर्ता उन्हें कैसे देखता है, जावास्क्रिप्ट रोबोट को अपना काम बेहतर तरीके से करने की अनुमति देता है।
खोज रोबोट के "सेना" के काम के लिए काफी कंप्यूटिंग संसाधनों की आवश्यकता होती है। पारंपरिक क्रॉलर के विपरीत, जिसमें विशेष सॉफ़्टवेयर और हार्डवेयर की आवश्यकता होती है, एक जावास्क्रिप्ट रोबोट आपको सीधे खुद को एक खोज इंजन साइट में एम्बेड करने की अनुमति देता है, जो साइट के साथ काम करते समय एंड-यूज़र ब्राउज़रों की कंप्यूटिंग शक्ति का उपयोग करना संभव बनाता है। यह एक बोटनेट और पीयर-टू-पीयर नेटवर्क के बीच कुछ का पता लगाता है: साइट उपयोगकर्ता को जानकारी प्रदान करती है - उपयोगकर्ता कंप्यूटिंग शक्ति के साथ साइट की मदद करता है।
यह सब कैसे काम करता है?
प्रौद्योगिकी का निर्माण करते समय, हमें निम्नलिखित नियम द्वारा निर्देशित किया गया था: यदि कोई समस्या है जो एक मशीन बड़े लेकिन स्वीकार्य समय में हल कर सकती है, जबकि एक व्यक्ति एक ही समस्या को बहुत तेजी से हल कर सकता है, तो कार्य मशीन को दिया जाता है, क्योंकि, सबसे पहले , मानव समय अनमोल है, और दूसरी बात, हमारी तकनीक आपको अंत उपयोगकर्ताओं की विशाल कंप्यूटिंग शक्ति का उपयोग मुफ्त में करने की अनुमति देती है।
अधिकांश मामलों में नई निर्देशिका को खोज इंजन से जोड़ने के लिए, आपको केवल निर्देशिका के पहले पृष्ठ का URL निर्दिष्ट करना होगा। यदि यह मौजूद नहीं है, तो आपको "निकटतम" URL निर्दिष्ट करना होगा। सिस्टम इसे फ्रेम में एक वेब प्रॉक्सी के माध्यम से लोड करेगा और उपयोगकर्ता के कार्यों की सावधानीपूर्वक निगरानी करेगा, जिन्हें केवल यह प्रदर्शित करने की आवश्यकता है कि सबसे कम तरीके से निर्देशिका की शुरुआत में कैसे जाना है। यदि साइट एक असामान्य नेविगेशन सिस्टम का उपयोग करती है, तो प्रदर्शन की आवश्यकता भी हो सकती है। यही है, कनेक्शन सिस्टम केवल उतना ही जटिल है जितना कि एक सामान्य उपयोगकर्ता के लिए कैटलॉग के पहले पृष्ठ पर जाना मुश्किल है।
प्रत्येक नई साइट अनुसंधान के अधीन है, जिसके दौरान रोबोट अपनी संरचनात्मक सुविधाओं का खुलासा करता है। यह भविष्य में आवश्यक डेटा को बेहतर ढंग से पहचानने में मदद करता है, और साइट के डिजाइन में बदलाव की निगरानी करना और उन्हें पर्याप्त रूप से प्रतिक्रिया देना भी संभव बनाता है। यह चरण पूरी तरह से स्वचालित है और इसमें मानवीय हस्तक्षेप की आवश्यकता नहीं है।
अध्ययन पूरा करने के बाद, रोबोट जानकारी निकालने के लिए आगे बढ़ता है, जिसके दौरान यह पहले से जुड़े निर्देशिकाओं के साथ काम करने के लिए प्रशिक्षण के परिणामस्वरूप प्राप्त आंकड़ों पर निर्भर करता है। यदि यह डेटा पर्याप्त नहीं है, और रोबोट स्वतंत्र रूप से सभी आवश्यक तथ्यों को पहचान और निकाल नहीं सकता है, तो सिस्टम रोबोट को इसके लिए एक नई निर्देशिका के साथ काम करने का प्रशिक्षण देने का अवसर प्रदान करता है: समस्या पृष्ठ को वेब प्रॉक्सी के माध्यम से खोला जाता है, और उपयोगकर्ता को केवल निर्दिष्ट करने की आवश्यकता होती है (और संभवतः स्पष्ट करना चाहिए) प्रणाली तथ्यों का पता नहीं चला है।
ऐसा लग सकता है कि हमारी तकनीक को निरंतर मानवीय भागीदारी की आवश्यकता है। ऐसा नहीं है, मैंने सबसे खराब स्थिति का वर्णन किया है। प्रत्येक नए जुड़े कैटलॉग के साथ, सिस्टम अधिक स्मार्ट हो जाता है, और मानव भागीदारी को कम से कम और कम आवश्यकता होती है।
सुरक्षा
एंड-यूज़र के ब्राउज़र के लिए निर्देशिका साइटों के संभावित असुरक्षित पृष्ठों को डाउनलोड करने से उपयोगकर्ता का कंप्यूटर मैलवेयर से "संक्रमित" हो सकता है। हम इस समस्या की गंभीरता से अवगत हैं। फिलहाल, क्रॉलर इंटरनेट एक्सप्लोरर परिवार के ब्राउज़रों के लिए अक्षम है (मोबाइल प्लेटफार्मों के लिए, वैसे भी, लेकिन अन्य कारणों से)। हम
Google सुरक्षित ब्राउज़िंग API का उपयोग करके डाउनलोड करने योग्य संसाधनों के सत्यापन को जोड़ने पर भी काम कर रहे हैं। और चूंकि रोबोट सभी पृष्ठों को केवल एक वेब प्रॉक्सी के माध्यम से खोलता है, उत्तरार्द्ध में स्पष्ट रूप से उनकी सामग्री का विश्लेषण करने की क्षमता होती है। अब हम विभिन्न विकल्पों पर विचार कर रहे हैं कि अंतिम उपयोगकर्ताओं की सुरक्षा को अधिकतम करने के लिए इस सुविधा का उपयोग कैसे करें।
दूसरी ओर, कुछ भी उपयोगकर्ताओं को नकली कार्य परिणामों की कोशिश करने से रोकता है और सर्वर को गलत जानकारी भेजता है। जालसाजी को बाहर करने के लिए, प्रत्येक कार्य को केवल तभी पूरा किया जाता है जब एक ही परिणाम विभिन्न कंप्यूटरों पर चलने वाले कई रोबोटों से प्राप्त किया जाता है।
सौ बार सुनने से बेहतर है एक बार देखना
कार्रवाई में प्रौद्योगिकी का प्रदर्शन करने के लिए, हमने
मेपर्टी सर्च इंजन बनाया, जो किराए पर दी जाने वाली संपत्तियों का एक नक्शा है। वर्तमान में, Maperty हमारे प्रयोगों के लिए सिर्फ एक प्रयोगशाला स्टैंड है, और यह तकनीक के संचालन को प्रदर्शित करने के उद्देश्य से भी कार्य करता है: जबकि उपयोगकर्ता मानचित्र के साथ काम कर रहा है, खोज रोबोट डाउनलोड करता है और रियल एस्टेट एजेंसियों से नए प्रस्तावों को संसाधित करता है।
अब कार्ड खाली है, लेकिन मॉस्को, सेंट पीटर्सबर्ग, कीव, बेलारूस, एस्टोनिया, पोलैंड और आयरलैंड में लगभग 10 हजार ऑफर प्रोसेसिंग का इंतजार कर रहे हैं। हम आशा करते हैं कि हेब्र प्रभाव की मदद से, समस्या कुछ ही घंटों में हल हो जाएगी, लेकिन सिस्टम आर्किटेक्चर ऐसा है कि डेटा तुरंत कार्ड तक नहीं पहुंचता है, लेकिन भागों में, दिन के अंत तक धीरे-धीरे आकार बढ़ता है।
सभी इच्छुक
www.maperty.ru पर स्वागत करते हैं। रोबोट केवल क्रोम, फ़ायरफ़ॉक्स, सफारी और ओपेरा में सक्रिय है, और रोबोट को एक वाक्य को पार्स करने में लगभग एक मिनट लगता है, इसलिए यदि आप हमारे छोटे प्रयोग में भाग लेना चाहते हैं, तो कृपया खाली नक्शा देखने पर ब्राउज़र विंडो को बंद न करें।
क्या (कैसे और कहाँ) का उपयोग किया गया था
जावा के लिए Google ऐप इंजन (रोबोट के लिए सर्वर, मैपर्टी के लिए सर्वर);
Google वेब टूलकिट (रोबोट, Maperty इंटरफ़ेस);
Google मानचित्र API (Maperty Interface)
Google जियोकोडिंग एपीआई (रोबोट में एक नक्शे पर निर्देशांक में पते का अनुवाद);
Google भाषा API (रोबोट की मदद करता है);
Google सुरक्षित ब्राउज़िंग एपीआई (वेब प्रॉक्सी, ऑपरेशन में);
याहू! वित्त एपीआई (Maperty में मुद्राओं को परिवर्तित करने के लिए उपयोग किया जाता है)।