
زاحف ويب مركز يستخدم مصنفات الصفحات وتحديد أولويات الروابط لجمع صفحات ويب خاصة بمجال معين أو مطابقة لأنماط بكفاءة، مع دعم فهرسة 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 متاحًا في الطرفية عن طريق إضافة ملفات ACHE الثنائية إلى متغير البيئة PATH:
export ACHE_HOME="{path-to-cloned-ache-repository}/ache/build/install/ache"
export PATH="$ACHE_HOME/bin:$PATH"
المتطلبات الأساسية: ستحتاج إلى تثبيت إصدار حديث من Docker. راجع https://docs.docker.com/engine/installation/ للحصول على تفاصيل حول كيفية تثبيت Docker لمنصتك.
نقوم بنشر صور Docker مبنية مسبقًا على 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، يمكنك تثبيت ache من Anaconda Cloud عن طريق تشغيل:
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 في أي وقت لإيقافه (قد يستغرق بعض الوقت). للزحف الطويل، يجب تشغيل ACHE في الخلفية باستخدام أداة مثل nohup.
يمكن لـ ACHE إخراج البيانات بعدة تنسيقات. التنسيقات المتاحة حاليًا هي:
لمزيد من التفاصيل حول كيفية تكوين تنسيقات البيانات، راجع صفحة توثيق تنسيقات البيانات.
نرحب بملاحظات المستخدمين. يرجى إرسال أي اقتراحات أو أسئلة أو تقارير عن الأخطاء باستخدام متتبع المشكلات على Github.
لدينا أيضًا غرفة محادثة على Gitter.
المساهمات البرمجية مرحب بها. نستخدم أسلوب ترميز مشتق من دليل أسلوب Google، ولكن مع 4 مسافات للتبويب. ملف تكوين Eclipse Formatter متاح في المستودع.