2014-06-23 7 views
6

मैं ग्रोवी (ग्रेल्स फ्रेमवर्क और मोंगोडीबी डेटाबेस का उपयोग करके) में एक वेब क्रॉलर विकसित करना चाहता हूं जिसमें वेबसाइट को क्रॉल करने की क्षमता है, साइट यूआरएल और उनके संसाधन प्रकारों की एक सूची बनाना, उनकी सामग्री , प्रतिक्रिया समय और शामिल रीडायरेक्ट की संख्या।ग्रोवी में क्रॉलर (जेएसओपी वीएस क्रॉलर 4j)

मैं JSoup बनाम क्रॉलर 4j पर बहस कर रहा हूं। मैंने मूल रूप से जो किया है उसके बारे में पढ़ा है लेकिन मैं दोनों के बीच स्पष्ट रूप से अंतर को समझ नहीं सकता। क्या कोई सुझाव दे सकता है कि उपरोक्त कार्यक्षमता के लिए कौन सा बेहतर होगा? या यह दोनों की तुलना करने के लिए पूरी तरह गलत है?

धन्यवाद।

उत्तर

13

Crawler4J क्रॉलर है, Jsoup एक पार्सर है। असल में आप दोनों का उपयोग/कर सकते हैं। क्रॉलर 4 जे आपके इच्छित यूआरएल और सभी पेज (सामग्री) प्राप्त करने के लिए एक आसान-बहुप्रचारित इंटरफ़ेस है। उसके बाद आप अद्भुत (jquery-like) css चयनकर्ताओं के साथ डेटा को पार्स करने के लिए Jsoup का उपयोग कर सकते हैं और वास्तव में इसके साथ कुछ कर सकते हैं। बेशक आपको गतिशील (जावास्क्रिप्ट जेनरेट) सामग्री पर विचार करना होगा। यदि आप उस सामग्री को भी चाहते हैं, तो आपको किसी अन्य चीज़ का उपयोग करना होगा जिसमें जावास्क्रिप्ट इंजन (हेडलेस ब्राउज़र + पार्सर) htmlunit या webdriver (सेलेनियम) शामिल है, जो सामग्री को पार्स करने से पहले जावास्क्रिप्ट निष्पादित करेगा।

+1

मैंने बिल्कुल वही सोचा। मुझे वास्तव में एक क्रॉलर और एक पार्सर दोनों की आवश्यकता होगी। क्रॉलर क्रॉलर 4j हो सकता है लेकिन पार्सर के लिए मैं संदिग्ध हूं। JSoup अन्य पार्सर्स की तुलना में बहुत "ग्रूवियर" है। Htmlunit कई मामलों में विफल रहता है जिनमें "छोटे से परे" जावास्क्रिप्ट है। इसके अलावा, उपयोगकर्ता समीक्षाओं से, यह स्पष्ट है कि यह <50% वेबसाइटों पर काम करता है। –

+1

शायद वेबड्राइवर। मैंने इसका इस्तेमाल नहीं किया है, लेकिन मैंने उत्कृष्ट चीजें सुनी हैं। – alkis

+1

मैं जेएसओपी के साथ सेलेनियम वेब ड्राइवर को एकीकृत करने की तलाश में हूं। सलाह के लिये धन्यवाद। –

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