2010-11-09 12 views
11

रूबी में वेब क्रॉलर लिखने की आपकी क्या सिफारिश है? मशीनीकरण से बेहतर कोई lib?रूबी में वेब क्रॉलर

+2

किस तरह से बेहतर है? –

+0

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

+0

मैं यह देखने की सिफारिश करता हूं कि "[कुछ अच्छे रूबी-आधारित वेब क्रॉलर क्या हैं?] (Http://stackoverflow.com/questions/4981379/what-are-some-good-ruby-based-web-crawlers/4981595) " –

उत्तर

9

यदि आप केवल पृष्ठ की सामग्री प्राप्त करना चाहते हैं, तो सबसे आसान तरीका open-uri फ़ंक्शंस का उपयोग करना है। उन्हें अतिरिक्त रत्न की आवश्यकता नहीं है। तुम बस require 'open-uri' करने के लिए है और ... http://ruby-doc.org/stdlib-2.2.2/libdoc/open-uri/rdoc/OpenURI.html

सामग्री आप Nokogiri या अन्य जवाहरात, यह भी हो सकता है, उदाहरण के लिए, उपयोगी XPATH -technology उपयोग कर सकते हैं पार्स करने के लिए। आप अन्य पार्सिंग लाइब्रेरी just here on SO पा सकते हैं।

25

मैं anemone पर आज़मा दूंगा। इसका उपयोग करना आसान है, खासकर यदि आपको एक साधारण क्रॉलर लिखना है। मेरी राय में, यह भी अच्छी तरह से डिजाइन किया गया है। उदाहरण के लिए, मैंने बहुत कम समय में अपनी साइटों पर 404 त्रुटियों की खोज के लिए एक रूबी लिपि लिखी।

+0

आपको इस पर एक गलती पोस्ट करनी चाहिए क्योंकि मैं जल्द ही उसी कार्यक्षमता को लागू कर दूंगा। अन्य शायद इसका भी उपयोग करेंगे। – cha55son

5

आप wombat को देख सकते हैं जो मैकेनाइज/नोकोगिरी के शीर्ष पर बनाया गया है और पृष्ठों को पार्स करने के लिए डीएसएल (उदाहरण के लिए सिनात्रा) प्रदान करता है। सुंदर स्वच्छ :)

1

मैं जो एक मकड़ी नहीं है pioneer gem पर काम कर रहा हूँ, लेकिन एक सरल अतुल्यकालिक क्रॉलर आधारित

+1

सर्वश्रेष्ठ मैं बता सकता हूं, 'वेब स्पाइडर' और 'वेब क्रॉलर' समानार्थी हैं। –

+0

अंग्रेजी मेरी मूल भाषा नहीं है, इसलिए मैं गलत हो सकता हूं, लेकिन ऐसा लगता है कि क्रॉलर कुछ और सामान्य मकड़ी है। स्पाइडर एक तरह का पूरा सामान है: यह रिकर्सिवली लिंक के माध्यम से सर्फिंग करता है। और अग्रणी एक छोटे ढांचे की तरह है। आप अपने मकड़ी को पायनियर के साथ लिख सकते हैं और आप और भी कर सकते हैं;)। लेकिन आपको अग्रणी का उपयोग करने के लिए मैन्युअल रूप से और अधिक काम करने की ज़रूरत है, लेकिन यह अधिक चुस्त है। – fl00r

+1

[विकिपीडिया] के अनुसार (http://en.wikipedia.org/wiki/Web_crawler): "वेब क्रॉलर के लिए अन्य शर्तें चींटियों, स्वचालित इंडेक्सर्स, बॉट्स, वेब मकड़ियों, वेब रोबोट हैं ..." यह मेल खाता है [वेब क्रॉलर के लिए स्टैक ओवरव्लो समानार्थी शब्द] (http://stackoverflow.com/tags/web-crawler/synonyms)। –

0

पर em-synchrony gem मैं अभी हाल ही में Klepto कहा जाता है एक का विमोचन किया। इसे एक बहुत ही सरल डीएसएल मिला है, जिसे कैपिबारा के शीर्ष पर बनाया गया है और इसमें बहुत अच्छे कॉन्फ़िगरेशन विकल्प हैं।

+2

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

संबंधित मुद्दे