
केंद्रित वेब क्रॉलर जो डोमेन-विशिष्ट या पैटर्न-मिलान करने वाले वेब पेजों को कुशलतापूर्वक एकत्र करने के लिए पेज क्लासिफायर और लिंक प्राथमिकता का उपयोग करता है, जिसमें Elasticsearch इंडेक्सिंग और TOR प्रॉक्सी क्रॉलिंग का समर्थन है।
ACHE एक फोकस्ड वेब क्रॉलर है। यह उन वेब पेजों को एकत्र करता है जो कुछ विशिष्ट मानदंडों को पूरा करते हैं, उदाहरण के लिए, वे पेज जो किसी दिए गए डोमेन से संबंधित हैं या जिनमें उपयोगकर्ता द्वारा निर्दिष्ट पैटर्न है। ACHE सामान्य क्रॉलर से इस मायने में भिन्न है कि यह किसी दिए गए डोमेन में प्रासंगिक और अप्रासंगिक पेजों के बीच अंतर करने के लिए पेज क्लासिफायर का उपयोग करता है। एक पेज क्लासिफायर एक साधारण रेगुलर एक्सप्रेशन (जो हर उस पेज से मेल खाता है जिसमें एक विशेष शब्द है, उदाहरण के लिए) से लेकर मशीन-लर्निंग आधारित वर्गीकरण मॉडल तक हो सकता है। ACHE स्वचालित रूप से यह भी सीख सकता है कि प्रासंगिक सामग्री को कुशलतापूर्वक खोजने के लिए लिंक को कैसे प्राथमिकता दी जाए, जबकि अप्रासंगिक सामग्री की पुनर्प्राप्ति से बचा जाए।
ACHE कई सुविधाओं का समर्थन करता है, जैसे:
संस्करण 0.11.0 से आगे, ACHE Apache 2.0 के तहत लाइसेंस प्राप्त है। पिछले संस्करण GNU GPL लाइसेंस के तहत लाइसेंस प्राप्त थे।
परियोजना के दस्तावेज़ीकरण पर अधिक जानकारी उपलब्ध है।
आप या तो स्रोत कोड से ACHE बना सकते हैं, conda का उपयोग करके निष्पादन योग्य बाइनरी डाउनलोड कर सकते हैं, या Docker का उपयोग करके एक इमेज बना सकते हैं और कंटेनर में ACHE चला सकते हैं।
पूर्वापेक्षा: आपको Java का हालिया संस्करण (JDK 8 या नवीनतम) स्थापित करना होगा।
स्रोत से ACHE बनाने के लिए, आप अपने टर्मिनल में निम्नलिखित कमांड चला सकते हैं:
git clone https://github.com/ViDA-NYU/ache.git
cd ache
./gradlew installDist
जो ache/build/install/ के अंतर्गत एक स्थापना पैकेज उत्पन्न करेगा।
फिर आप ACHE_HOME पर्यावरण चर में ACHE बाइनरी जोड़कर टर्मिनल में ache कमांड उपलब्ध करा सकते हैं:
export ACHE_HOME="{path-to-cloned-ache-repository}/ache/build/install/ache"
export PATH="$ACHE_HOME/bin:$PATH"
पूर्वापेक्षा: आपको Docker का हालिया संस्करण स्थापित करना होगा। अपने प्लेटफॉर्म के लिए Docker कैसे स्थापित करें, इस विवरण के लिए https://docs.docker.com/engine/installation/ देखें।
हम प्रत्येक जारी संस्करण के लिए Docker Hub पर पूर्व-निर्मित डॉकर इमेज प्रकाशित करते हैं। आप नवीनतम इमेज इस प्रकार चला सकते हैं:
docker run -p 8080:8080 vidanyu/ache:latest
वैकल्पिक रूप से, आप स्वयं इमेज बना सकते हैं और चला सकते हैं:
git clone https://github.com/ViDA-NYU/ache.git
cd ache
docker build -t ache .
docker run -p 8080:8080 ache
Dockerfile दो डेटा वॉल्यूम को उजागर करता है ताकि आप अपनी कॉन्फ़िगरेशन फ़ाइलों के साथ एक निर्देशिका (/config पर) माउंट कर सकें और कंटेनर रुकने के बाद क्रॉलर संग्रहीत डेटा (/data पर) को संरक्षित कर सकें।
पूर्वापेक्षा: आपके सिस्टम में Conda पैकेज मैनेजर स्थापित होना चाहिए।
यदि आप Conda का उपयोग करते हैं, तो आप Anaconda Cloud से ache इस प्रकार स्थापित कर सकते हैं:
conda install -c vida-nyu ache
ध्यान दें: केवल जारी किए गए टैग किए गए संस्करण Anaconda Cloud पर प्रकाशित होते हैं, इसलिए Conda के माध्यम से उपलब्ध संस्करण अद्यतित नहीं हो सकता है। यदि आप नवीनतम संस्करण आज़माना चाहते हैं, तो कृपया रिपॉजिटरी को क्लोन करें और स्रोत से निर्माण करें या Docker संस्करण का उपयोग करें।
क्रॉल शुरू करने से पहले, आपको ache.yml नामक एक कॉन्फ़िगरेशन फ़ाइल बनानी होगी।
हम रिपॉजिटरी के config निर्देशिका में कुछ कॉन्फ़िगरेशन नमूने प्रदान करते हैं जो आपको आरंभ करने में मदद कर सकते हैं।
आपको pageclassifier.yml नामक एक पेज क्लासिफायर कॉन्फ़िगरेशन फ़ाइल की भी आवश्यकता होगी।
पेज क्लासिफायर कैसे कॉन्फ़िगर करें, इसके विवरण के लिए, पेज क्लासिफायर दस्तावेज़ीकरण देखें।
क्लासिफायर कॉन्फ़िगर करने के बाद, अंतिम चीज़ जिसकी आपको आवश्यकता होगी, वह एक सीड फ़ाइल है, अर्थात, एक सादा पाठ जिसमें प्रति पंक्ति एक URL हो। क्रॉलर क्रॉल को बूटस्ट्रैप करने के लिए इन URL का उपयोग करेगा।
अंत में, आप निम्नलिखित कमांड का उपयोग करके क्रॉलर शुरू कर सकते हैं:
ache startCrawl -o <data-output-path> -c <config-path> -s <seed-file> -m <model-path>
जहां,
<configuration-path> कॉन्फ़िग निर्देशिका का पथ है जिसमें ache.yml है।<seed-file> वह सीड फ़ाइल है जिसमें सीड URL हैं।<model-path> मॉडल निर्देशिका का पथ है जिसमें फ़ाइल pageclassifier.yml है।<data-output-path> डेटा आउटपुट निर्देशिका का पथ है।रिपॉजिटरी में उपलब्ध नमूना पूर्व-प्रशिक्षित पेज क्लासिफायर मॉडल और नमूना सीड फ़ाइल का उपयोग करके ACHE चलाने का उदाहरण:
ache startCrawl -o output -c config/sample_config -s config/sample.seeds -m config/sample_model
क्रॉलर चलेगा और लॉग को कंसोल पर प्रिंट करेगा। इसे रोकने के लिए किसी भी समय Ctrl+C दबाएं (इसमें कुछ समय लग सकता है)।
लंबे क्रॉल के लिए, आपको nohup जैसे टूल का उपयोग करके ACHE को पृष्ठभूमि में चलाना चाहिए।
ACHE डेटा को कई प्रारूपों में आउटपुट कर सकता है। वर्तमान में उपलब्ध डेटा प्रारूप हैं:
डेटा प्रारूपों को कैसे कॉन्फ़िगर करें, इसके अधिक विवरण के लिए, डेटा प्रारूप दस्तावेज़ीकरण पृष्ठ देखें।
हम उपयोगकर्ता प्रतिक्रिया का स्वागत करते हैं। कृपया किसी भी सुझाव, प्रश्न या बग रिपोर्ट Github issue tracker का उपयोग करके सबमिट करें।
हमारा Gitter पर एक चैट रूम भी है।
कोड योगदान का स्वागत है। हम Google Style Guide से व्युत्पन्न एक कोड शैली का उपयोग करते हैं, लेकिन टैब के लिए 4 स्थानों के साथ। एक Eclipse Formatter कॉन्फ़िगरेशन फ़ाइल रिपॉजिटरी में उपलब्ध है।