वेब क्रॉलर आर्किटेक्चर
(velog.io)-
अब तक इंटरनेट पर बहुत से जिन वेब क्रॉलर का परिचय कराया गया है, उनमें से अधिकांश वास्तव में 'scraper' हैं; उन्हें क्रॉलर कहना कठिन है
-
लेखक वेब क्रॉलर को परिभाषित करने वाले शोधपत्रों का संक्षिप्त परिचय दे रहे हैं
-
क्रॉलर एक ऐसा application है जो इंटरनेट की दुनिया को BFS, DFS तरीके से traverse करता है.
-
robots rules एक बहुत महत्वपूर्ण मुद्दा है, इतना कि यह किसी कंपनी की छवि तय कर सकता है, लेकिन कई startup इसे जानते ही नहीं हैं.
4 टिप्पणियां
पिछले साल भी मैंने इस व्यक्ति की लिखी बात पढ़कर सोचा था कि ये इतने तिरछे नज़रिए से क्यों जीते हैं, लेकिन पता नहीं अब कुछ बेहतर हुआ है या नहीं.
व्यावहारिक रूप से देखें तो, सच कहें तो search engine चलाने वाली बड़ी कंपनियों के लोग न हों तो...
मान लें कि crawler इस्तेमाल भी किया जाए, तब भी text mining के क्षेत्र में अगर अंग्रेज़ी नहीं है तो preprocessing cost बहुत बड़ी होती है, इसलिए ऐसे crawler से high-quality data निकालना भी मुश्किल है, और image processing के क्षेत्र में तो अच्छे datasets वैसे ही बहुत हैं, तो अलग से crawler चलाने की ज़रूरत ही नहीं पड़ती. यूँ ही इतनी अच्छी theory होते हुए भी scraper का बोलबाला नहीं है. बस इसलिए कि इतनी जान तोड़ मेहनत से मिलने वाली value कम है.
वह जिस complete crawler की बात करते हैं, उसकी theory अच्छी हो सकती है, लेकिन आखिरकार वह बस थोड़ी अधिक संभावना से data extract करने तक ही सीमित है, इसलिए आजकल AI या ऐसे क्षेत्रों में इस्तेमाल करने के लिए वह एक तरह का न काम का न छोड़ने लायक साधन है. उसकी maintenance cost भी सस्ती नहीं, extracted data भी complete नहीं, manage करना भी मुश्किल, और legal issues भी बहुत हैं. किसी व्यक्ति या कंपनी के लिए उन सब बातों पर विचार करने से बेहतर है कि कुछ बड़े sites पर scraper के कुछ instances चला दिए जाएँ; वही ज़्यादा किफ़ायती है. किसी बड़े site के लिए अच्छी तरह analyze करके बनाया गया एक scraper, बेकार के 10,000 sites में आने-जाने से सैकड़ों, हज़ारों गुना ज़्यादा किफ़ायती और सुविधाजनक है. एक crawler को व्यापक रूप से "अच्छी तरह" चलाना हो तो PhD और master's वाले लोग लग जाएँ तब भी मुश्किल है. और crawler को monitor करके logic तक बदलना पड़े तो वह और भी भयावह होगा. logs भी बेतहाशा होंगे, इसलिए शायद उन्हें भी distributed processing से संभालना पड़ेगा.
बेशक मैं इस बात से पूरी तरह सहमत हूँ कि crawler एक core foundation है और महत्वपूर्ण है, लेकिन मुझे लगता है कि यह बात कहने के लिए scraper से पूरे साल भर स्तर का भेद बनाकर बात करने की ज़रूरत थी या नहीं, यह सवाल है.
अब भी देखकर समझ नहीं आता कि वह Scrapy को आखिर नज़रअंदाज़ क्यों करते हैं. कम से कम gocolly की तुलना में उसमें options हों या extensions, कहीं ज़्यादा हैं.
खैर, यह व्यक्ति-दृष्टि पर निर्भर हो सकता है, लेकिन मैं भी big data collection team में काम करने वाला व्यक्ति हूँ, इसलिए अपनी छोटी-सी राय छोड़ रहा हूँ.
सहमत हूँ.
शायद यह अभी अधूरा लेख है, इसलिए कुछ जगहों पर ऐसा लगता है कि जो सामग्री होनी चाहिए थी वह छूट गई है.
बीच में revisit scheduling में जिस [Lambda Crawl] का ज़िक्र है, क्या वह Effective Page Refresh Policies For Web Crawlers पेपर की ओर इशारा करता है? इस keyword से खोजने पर तो बस AWS की serverless service Lambda से crawling वगैरह करने की बातें ही बहुत सारी आती हैं. लेकिन नीचे दी गई references सूची में यह पेपर दिखाई नहीं देता…
http://ilpubs.stanford.edu:8090/604/1/2003-44.pdf
Tractable near-optimal policies for crawlingयह पेपर में दिखाई देता है।