YayCrawler نظام زاحف موزع، سهل الاستخدام، تكوين متقدم. إنه قابل للتوسيع، ويقلل من عبء عمل التطوير، ويمكن إرساءه، ويتكيف مع مختلف الاحتياجات العاجلة: WebMagic، Spring Boot، MongoDB، ActiveMQ، Spring + Quartz، Spring Jpa، Druid، Redis، Ehcache، SLF4J، Log4j2، Bootstrap +. مسج، الخ.
بأفضل ما في وسعنا، قم بزيادة إنتاجية مطوري زاحف الويب، وهو ما يمثل نسمة من الهواء النقي في إطار عمل الزاحف.
إطار عمل زاحف موزع كامل تم تطويره استنادًا إلى WebMagic، وخصائص هذا الإطار هي كما يلي:
1. موزعة بالكامل: وتتكون من محطة الإدارة (المسؤول)، ومحطة الإرسال (الرئيسية) والعديد من العمال، ويتواصل كل مكون من خلال بروتوكول HTTP.
2. قابلة للتكوين بالكامل: يمكن الزحف إلى البيانات من أي موقع ويب من خلال قواعد تكوين الصفحة من جانب المسؤول. بالطبع، تختلف صعوبة مواقع الويب المختلفة، وستكون هناك مكونات مختلفة للتعامل مع المشكلات مثل تسجيل الدخول ورمز التحقق وIP حظر، الخ.
3. قائمة انتظار المهام القابلة للتطوير: يتم تنفيذ قائمة انتظار المهام بواسطة Redis. هناك أربع قوائم انتظار مهام مختلفة وفقًا لحالة المهمة: الأولية، والتنفيذ، والناجحة، والفاشلة. يمكنك أيضًا توسيع خوارزميات جدولة المهام المختلفة، والإعداد الافتراضي هو الجدولة العادلة.
4. طريقة الثبات القابلة للتحديد: في نتائج الزحف، يتم الاحتفاظ ببيانات السمة في MonogoDB افتراضيًا، وسيتم تنزيل الصور إلى خادم الملفات، بالطبع، يمكنك توسيع المزيد من أنواع التخزين.
5. الاستقرار والتسامح مع الأخطاء: ستتم إعادة محاولة أي مهمة زاحف وتسجيلها فقط عندما تكون المهمة ناجحة حقًا، سيتم نقلها إلى قائمة انتظار النجاح. سيكون للفشل وصف لسبب الفشل.
الإطار الأساسي: تمهيد Webmagic Spring
جدولة المهام: الربيع + الكوارتز
إطار طبقة الثبات: Spring Jpa
قاعدة البيانات وتجمع الاتصال: Alibaba Druid MongoDB MySql
إطار التخزين المؤقت: Redis Ehcache
إدارة السجل: SLF4J، Log4j2
إطار الواجهة الأمامية: Bootstrap + Jquary
1. قم بتثبيت JDK8
2. قم بتثبيت قاعدة بيانات mysql لتخزين البيانات مثل قواعد التحليل. تحتاج إلى إنشاء مثيل قاعدة بيانات لـ "yayCrawler" وتنفيذ البرنامج النصي لقاعدة البيانات المتعلقة بالكوارتز: quartz.sql (راجع حزمة الإصدار أو الكود المصدري).
3. قم بتثبيت ريديس
4. قم بتثبيت mongoDB لتخزين بيانات النتيجة
5. قم بتثبيت برنامج خادم ftp ftpserver (اختياري، يستخدم لتخزين الصور التي تم تنزيلها)
قم باستيراد المشروع، ثم قم بتثبيت maven لتثبيت الوحدات النمطية Admin، Worker، Master. ثم انسخ الجرة التي تم إنشاؤها إلى دليل Crawler.worker/deploy وتذكر تغيير IP الخاص بـ Redis وmysql mogodb في ملف التكوين وانقر فوق start.bat للبدء.
(لينكس وويندوز) java -jar عامل.war --spring.config.location=worker_local.properties
أمر وثيق
(Windows) لـ /f "tokens=1-5 delims= " %%a in ('"netstat -ano|findstr "^:8086""') قم بتنفيذ مهمة Taskkill /f /pid %%e
1. المسؤول طبقة المسؤول مسؤولة بشكل أساسي عن تكوين قاعدة استخراج الصفحة وتكوين موقع الصفحة وإدارة الموارد وإصدار المهام.
2. الرئيس هو مركز التحكم في الزاحف الموزع ويقبل المهام الصادرة عن المسؤول ويعين المهام للعاملين للتنفيذ.
2.1.تلقي مهام النشر
2.2 قبول تسجيل العمال
3. العامل هو شاب مجتهد يفعل الأشياء حقًا، فهو يقبل المهام التي يكلفه بها السيد وينفذها، ويبلغ السيد بنبض قلبه بانتظام.