नच

2010-11-24 10 views
19

पर एक वैकल्पिक वेब क्रॉलर मैं एक विशेष खोज इंजन वेबसाइट बनाने की कोशिश कर रहा हूं जो सीमित संख्या में वेब साइटों को अनुक्रमणित करता है। समाधान मैं के साथ आया है:नच

  • Nutch वेब क्रॉलर के रूप में उपयोग करते हुए,
  • Solr खोज इंजन के रूप में उपयोग,
  • सामने के अंत और साइट पर तर्क विकेट के साथ कोडित है।

समस्या यह है कि मुझे नच काफी जटिल लगता है और यह एक विस्तृत दस्तावेज (किताबें, हालिया ट्यूटोरियल .. आदि) मौजूद नहीं है, इस तथ्य के बावजूद यह अनुकूलित करने के लिए सॉफ्टवेयर का एक बड़ा टुकड़ा है।

अब सवाल:

  1. साइट के छेद विचार के बारे में कोई रचनात्मक आलोचना?
  2. क्या नच के लिए एक अच्छा अभी तक आसान विकल्प है (साइट के क्रॉलिंग हिस्से के रूप में)?

धन्यवाद

+7

सालों से हमने eveything की कोशिश की है: नच, हेरिट्रिक्स, तूफान क्रॉलर, क्रॉलर 4j, हमारे अपने घर में क्रॉलर ...हालांकि, वहां केवल एक ही वास्तव में प्रभावशाली विकल्प है कि हमारी पूरी टीम द्वारा शपथ ली जाती है: मिक्सोड। –

उत्तर

4

Scrapy एक अजगर पुस्तकालय है कि वेब साइटों को क्रॉल करता है। यह काफी छोटा है (नच की तुलना में) और सीमित साइट क्रॉल के लिए डिज़ाइन किया गया है। इसमें एक Django प्रकार एमवीसी शैली है जिसे मैं अनुकूलित करने के लिए बहुत आसान पाया।

4

क्रॉलिंग भाग के लिए, मुझे वास्तव में anemone और crawler4j पसंद है। वे दोनों आपको लिंक चयन और पेज हैंडलिंग के लिए अपना कस्टम तर्क जोड़ने की अनुमति देते हैं। प्रत्येक पृष्ठ के लिए जिसे आप रखने का निर्णय लेते हैं, आप आसानी से कॉल को सोलर में जोड़ सकते हैं।

2

इन, सी #, लेकिन बहुत आसान है और आप सीधे लेखक के साथ संवाद कर सकते हैं। (मुझे)

मैं नच का उपयोग करता था और आप सही हैं; यह काम करने के लिए एक भालू है।

http://arachnode.net

3

यह कैसे कई वेब साइटों और इतने यूआरएल आप क्रॉल लगता है पर निर्भर करता है। Apache Nutch Apache HBase (जो अपाचे हैडोप पर निर्भर करता है) पर पृष्ठ दस्तावेज़ संग्रहीत करता है, यह ठोस है लेकिन सेटअप और प्रशासन करने में बहुत मुश्किल है।

चूंकि क्रॉलर केवल एक पृष्ठ लाता है (एक कर्ल की तरह) और अपने यूआरएल डेटा बेस को खिलाने के लिए लिंक की सूची पुनर्प्राप्त करें, मुझे यकीन है कि आप अपने आप पर क्रॉलर लिख सकते हैं (विशेष रूप से यदि आपके पास कुछ वेबसाइटें हैं) , एक सरल MySQL डेटाबेस का उपयोग करें (शायद क्रॉल नौकरियों को शेड्यूल करने के लिए RabbitMQ जैसे कतार सॉफ़्टवेयर)।

दूसरी ओर, एक क्रॉलर और अधिक परिष्कृत हो सकता है, आप अपने HTML दस्तावेज़ के शीर्ष भाग से दूर करने के लिए, और केवल असली पेज आदि की "सामग्री" रखना ...

इसके अलावा, Nutch चाहते सकता है पेजरैंक अल्गो के साथ अपने पृष्ठों को रैंक कर सकते हैं। आप एक ही चीज करने के लिए अपाचे स्पार्क का उपयोग कर सकते हैं (अधिक कुशलता से क्योंकि स्पार्क स्मृति में डेटा कैश कर सकता है)।

0

मुझे विश्वास है कि नच आपके आवेदन के लिए सबसे अच्छा विकल्प है, लेकिन यदि आप चाहते हैं, तो एक साधारण टूल है: Heritrix। इसके अलावा, मैं फ्रंट एंड भाषा के लिए जेएस की सिफारिश करता हूं, क्योंकि सोलर जेसन को लौटाता है जिसे आसानी से जेएस द्वारा नियंत्रित किया जाता है।