عن المشروع

Crawl4AI هي مكتبة Python مفتوحة المصدر وأداة سطر أوامر للتصفح والتمزيق (scraping) عبر الويب، مصممة لإنتاج مخرجات Markdown نظيفة وجاهزة لـLLM. تُستخدم على نطاق واسع في بناء خطوط أنابيب RAG، والوكلاء الذكاء الاصطناعي، وسير عمل استخراج البيانات. ## نظرة عامة يحوّل Crawl4AI الويب إلى Markdown منظم ومناسب للمعالجة الذكية اللاحقة. يدعم الاستخدام البرمجي عبر Python وواجهة سطر الأوامر، مع استخراج هيكلي للبيانات مدعوم بالذكاء الاصطناعي واختياري، بالإضافة إلى استخراج باستخدام CSS/XPath. ## القدرات الرئيسية ### توليد Markdown - يُنتج Markdown نظيفًا ومنظمًا يحتوي على عناوين وجداول وكتل كود - وضع Markdown المناسب (Fit Markdown) يطبق تصفية启发ية لإزالة الضوضاء والمحتوى غير ذي الصلة - مخرجات واعية بالتلميحات المرجعية تحوّل الروابط إلى مراجعات مرقّمة - تصفية محتوى قائمة على BM25 للاستخراج المرتبط بالاستعلام - استراتيجيات توليد Markdown قابلة للتركيب ### استخراج البيانات الهيكلية - استخراج مدعوم بالذكاء الاصطناعي عبر LiteLLM، يدعم النماذج مفتوحة ومغلقة المصدر - استخراج قائم على مخطط JSON باستخدام محددات CSS وXPath - استراتيجيات تجزئة (قائمة بالمواضيع، regex، مستوى الجملة) للمعالجة المستهدفة - بحث التشابه جيبوسي لمطابقة المحتوى الدلالي ### دمج المتصفح - حوض متصفح غير متزامن مدعوم بـPlaywright - وضع المتصفح المُدار باستخدام ملفات تعريف المتصفح الخاصة بالمستخدم مع حالات المصادقة والملفات الصحية المحفوظة - التحكم البعيد في المتصفح عبر بروتوكول Chrome DevTools - دعم الوكالات مع المصادقة - وضع التخفي لتقليل اكتشاف البوتات - دعم متعدد للمتصفحات (Chromium, Firefox, WebKit) - ضبط ديناميكي لمنطقة العرض ### ميزات التصفح - تنفيذ JavaScript مع دعم الانتظار غير المتزامن/المتزامن للمحتوى الديناميكي - التقاط لقطات الشاشة أثناء التصفح - استخراج الوسائط (صور، صوت، فيديو، صيغ srcset/picture الاستجابية) - معالجة HTML الخام والملفات المحلية - استخراج شامل للروابط بما في ذلك محتوى iframe - التعامل مع التحميل الكسول والمسح الكامل للصفحة للتمرير اللانهائي - تخصيص قائم على الخطافات في كل خطوة تصفح - تخزين مؤقت مدمج ### النشر - خادم FastAPI مُجصص (Dockerized) ل سير العمل القائم على API - مصادقة JWT (ممكّنة افتراضيًا في الإصدارات الحديثة) - لوحة مراقبة ومنطقة تجريب تفاعلية عند `/dashboard` و `/playground` - تكامل MCP لربط أدوات الذكاء الاصطناعي - صور Docker متعددة البنى (AMD64/ARM64) - جاهز للنشر السحابي ## التثبيت ```bash pip install -U crawl4ai crawl4ai-setup ``` للتركيب اليدوي لـPlaywright: ```bash python -m playwright install --with-deps chromium ``` ## الاستخدام ### واجهة Python API ```python import asyncio from crawl4ai import AsyncWebCrawler async def main(): async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://example.com") print(result.markdown) asyncio.run(main()) ``` ### سطر الأوامر ```bash # تصفح أساسي crwl https://example.com -o markdown # تصفح عميق crwl https://example.com --deep-crawl bfs --max-pages 10 # استخراج بالذكاء الاصطناعي crwl https://example.com -q "Extract all product prices" ``` ### Docker ```bash docker pull unclecode/crawl4ai:latest docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:latest ``` ثم زر `http://localhost:11235/dashboard` لواجهة المراقبة أو `http://localhost:11235/playground` لبيئة الاختبار التفاعلية. ## تفاصيل المشروع - المستودع: unclecode/crawl4ai - PyPI: crawl4ai - التوثيق: https://docs.crawl4ai.com/ - مجتمع Discord: https://discord.gg/jP8KfhDhyN - الرعاة: https://github.com/sponsors/unclecode يشدد المشروع على إتاحة الوصول والقدرة على تحمل التكاليف، ويتخذ من نفسه بديلاً ذاتي الاستضافة لواجهات برمجة استخراج الويب التجارية. وحصل على أكثر من 50,000 نجمة على GitHub ويحافظ بنشاط على الأمان من خلال إصدارات منتظمة.