Home
Login

مكتبة قوية لسحب بيانات الويب وأتمتة المتصفح في Node.js، تدعم JavaScript و TypeScript، ويمكنها استخراج البيانات للذكاء الاصطناعي ونماذج اللغات الكبيرة (LLM) واسترجاع المعلومات المعزز (RAG) وما إلى ذلك.

Apache-2.0TypeScript 18.0kapify Last Updated: 2025-06-19

Crawlee - إطار عمل حديث لزحف الويب وأتمتة المتصفح

نظرة عامة على المشروع

Crawlee هي مكتبة Node.js قوية لزحف الويب وأتمتة المتصفح، تم تطويرها بواسطة شركة Apify، وهي مصممة خصيصًا لبناء برامج زحف ويب موثوقة. يدعم المشروع JavaScript و TypeScript، وهو قادر على توفير خدمات استخراج بيانات عالية الجودة لتطبيقات الذكاء الاصطناعي ونماذج اللغة الكبيرة (LLM) والتوليد المعزز بالاسترجاع (RAG) وغيرها.

عنوان GitHub: https://github.com/apify/crawlee

الميزات والوظائف الأساسية

🚀 واجهة زحف موحدة

  • دعم محركات متعددة: واجهة موحدة تدعم طلبات HTTP وزحف المتصفح بدون رأس
  • اختيار مرن: القدرة على اختيار طريقة الزحف المناسبة وفقًا للاحتياجات

🔄 إدارة قائمة الانتظار الذكية

  • قائمة انتظار مستمرة: دعم قائمة انتظار عناوين URL للزحف ذات الأولوية للعرض والعمق
  • توسع تلقائي: تعديل حجم الزحف تلقائيًا بناءً على موارد النظام

💾 نظام تخزين مرن

  • دعم تنسيقات متعددة: دعم تخزين البيانات الجدولية والملفات القابلة للتوصيل
  • محلي/سحابي: يتم التخزين افتراضيًا في الدليل المحلي ./storage، مع دعم التخزين السحابي

🔒 مكافحة الكشف على مستوى المؤسسات

  • تناوب الوكيل: تكامل تناوب الوكيل وإدارة الجلسة
  • محاكاة إنسانية: القدرة على محاكاة السلوك البشري في التكوين الافتراضي، وتجاوز الكشف عن الروبوتات الحديثة
  • تزوير البصمات: إنشاء بصمات TLS ورؤوس طلبات شبيهة بالمتصفحات الحقيقية تلقائيًا

🛠 سهل الاستخدام للمطورين

  • دعم أصلي لـ TypeScript: تعريفات أنواع كاملة ودعم الأنواع العامة
  • أداة CLI: توفير سقالة لإنشاء المشاريع بسرعة
  • خطافات دورة الحياة: معالجة أحداث دورة الحياة القابلة للتخصيص
  • جاهز لـ Docker: Dockerfile مدمج لسهولة النشر

طرق الزحف المدعومة

زحف HTTP

  • أداء عالي: دعم HTTP2 بدون تكوين، بما في ذلك الوكلاء
  • تحليل ذكي: تكامل محللات HTML سريعة Cheerio و JSDOM
  • صديق لـ API: دعم زحف JSON API أيضًا

أتمتة المتصفح

  • متصفحات متعددة: دعم متصفحات متعددة مثل Chrome و Firefox و Webkit
  • عرض JavaScript: معالجة المحتوى الديناميكي والتطبيقات ذات الصفحة الواحدة
  • وظيفة لقطة الشاشة: دعم لقطات الشاشة للصفحة
  • وضع بدون رأس/برأس: اختيار وضع تشغيل مرن
  • واجهة موحدة: Playwright و Puppeteer يستخدمان نفس واجهة برمجة التطبيقات (API)

بداية سريعة

إنشاء مشروع باستخدام CLI

npx crawlee create my-crawler
cd my-crawler
npm start

مثال على التعليمات البرمجية الأساسية

import { PlaywrightCrawler, Dataset } from 'crawlee';

const crawler = new PlaywrightCrawler({
    async requestHandler({ request, page, enqueueLinks, log }) {
        const title = await page.title();
        log.info(`Title of ${request.loadedUrl} is '${title}'`);
        await Dataset.pushData({ title, url: request.loadedUrl });
        await enqueueLinks();
    },
    // headless: false,
});


await crawler.run(['https://crawlee.dev']);

تثبيت التبعيات

npm install crawlee playwright

البنية التقنية

الوحدات الأساسية

  • @crawlee/core: وحدة الوظائف الأساسية
  • @crawlee/types: تعريفات أنواع TypeScript
  • @crawlee/utils: وظائف الأدوات المساعدة

المكتبات والأدوات المدعومة

  • Playwright: أتمتة المتصفح الحديثة
  • Puppeteer: أتمتة Chrome/Chromium
  • Cheerio: تحليل HTML سريع
  • JSDOM: معالجة وتحليل DOM

النشر والتكامل

التطوير المحلي

  • يتم تخزين البيانات افتراضيًا في الدليل ./storage
  • دعم تخصيص موقع التخزين من خلال ملف التكوين
  • دعم كامل لدليل التكوين والوثائق

النشر السحابي

  • منصة Apify: نظرًا لأن Crawlee تم تطويره بواسطة Apify، يمكن نشره بسهولة على منصة Apify السحابية
  • دعم Docker: تكوين Docker مدمج، يدعم النشر في حاويات
  • عبر الأنظمة الأساسية: يمكن تشغيله في أي بيئة تدعم Node.js

إدارة الإصدار

  • إصدار مستقر: تثبيت إصدار الإصدار المستقر عبر npm
  • إصدار تجريبي: دعم تثبيت الإصدار التجريبي لاختبار الميزات الجديدة
npm install crawlee@3.12.3-beta.13

سيناريوهات التطبيق

علم البيانات والذكاء الاصطناعي

  • مجموعات بيانات التعلم الآلي: جمع بيانات التدريب لنماذج الذكاء الاصطناعي
  • أنظمة RAG: توفير قاعدة معرفية لأنظمة التوليد المعزز بالاسترجاع
  • تدريب LLM: جمع بيانات التدريب المسبق لنماذج اللغة الكبيرة

التطبيقات التجارية

  • تحليل المنافسين: مراقبة منتجات المنافسين ومعلومات الأسعار
  • أبحاث السوق: جمع اتجاهات الصناعة وبيانات السوق
  • تجميع المحتوى: جمع الأخبار والمقالات والمحتويات الأخرى تلقائيًا

المراقبة الفنية

  • مراقبة الموقع: التحقق بانتظام من تغييرات الموقع
  • تتبع الأسعار: مراقبة أسعار منتجات التجارة الإلكترونية
  • نسخ احتياطي للبيانات: نسخ احتياطي منتظم لمحتوى صفحات الويب المهمة

ملخص

Crawlee هو إطار عمل شامل وحديث لزحف الويب، وهو مناسب بشكل خاص لتطبيقات المؤسسات التي تتطلب موثوقية عالية وقدرات مكافحة الكشف. إن تصميم واجهة برمجة التطبيقات (API) الموحدة ووظائف مكافحة الكشف القوية والنظام البيئي الكامل تجعله خيارًا مثاليًا لمشاريع جمع البيانات الحديثة. سواء كان الأمر يتعلق بجمع البيانات لمشاريع الذكاء الاصطناعي أو إجراء تحليل ذكاء الأعمال، يمكن لـ Crawlee توفير حلول مستقرة وموثوقة.