Home
Login

مُستخلص ويب Node.js/TypeScript عالي الأداء، مُحسَّن لـ LLM، يدعم استخلاص محركات البحث المتعددة واستخراج البيانات المنظمة

MITTypeScript 500any4aiAnyCrawl Last Updated: 2025-07-03

# AnyCrawl: تفاصيل المشروع

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

AnyCrawl هو تطبيق عالي الأداء لزحف الويب واستخلاص البيانات، مبني على Node.js/TypeScript. تم تصميم هذا المشروع خصيصًا لتحسين نماذج اللغة الكبيرة (LLM)، وهو قادر على تحويل محتوى مواقع الويب إلى تنسيقات بيانات قابلة للاستخدام بواسطة LLM، واستخراج بيانات صفحة نتائج البحث (SERP) المنظمة من محركات البحث مثل Google و Bing و Baidu.

🎯 الميزات الأساسية

يتفوق AnyCrawl في مجالات متعددة:

  • زحف SERP: يدعم محركات بحث متعددة، مع القدرة على المعالجة الدفعية
  • زحف الويب: استخراج فعال لمحتوى الصفحة الواحدة
  • زحف المواقع: وظيفة زحف ذكية للموقع بأكمله
  • هندسة معمارية عالية الأداء: تصميم هندسي متعدد الخيوط ومتعدد العمليات
  • معالجة الدُفعات: معالجة فعالة لمهام الزحف الدفعية

🏗️ الهيكل التقني

تصميم حديث

  • مبني على Node.js/TypeScript
  • مُحسَّن لنماذج اللغة الكبيرة (LLM)
  • يدعم المعالجة الدفعية الأصلية متعددة الخيوط
  • تصميم معماري حديث

محركات الزحف المدعومة

يدعم AnyCrawl مجموعة متنوعة من محركات الزحف:

  1. Cheerio: تحليل HTML ثابت، الأسرع
  2. Playwright: عرض JavaScript، باستخدام محرك حديث
  3. Puppeteer: عرض JavaScript، باستخدام محرك Chrome

🚀 بداية سريعة

نشر Docker

ابدأ بسرعة باستخدام Docker Compose:

docker compose up --build

تكوين متغيرات البيئة

اسم المتغير الوصف القيمة الافتراضية مثال
NODE_ENV بيئة وقت التشغيل production production, development
ANYCRAWL_API_PORT منفذ خدمة API 8080 8080
ANYCRAWL_HEADLESS ما إذا كان محرك المتصفح يستخدم الوضع بدون رأس true true, false
ANYCRAWL_PROXY_URL عنوان URL لخادم الوكيل (يدعم HTTP و SOCKS) (لا يوجد) http://proxy:8080
ANYCRAWL_IGNORE_SSL_ERROR تجاهل أخطاء شهادة SSL true true, false
ANYCRAWL_KEEP_ALIVE الحفاظ على الاتصال بين الطلبات true true, false
ANYCRAWL_AVAILABLE_ENGINES محركات الزحف المتاحة (مفصولة بفواصل) cheerio,playwright,puppeteer playwright,puppeteer
ANYCRAWL_API_DB_TYPE نوع قاعدة البيانات sqlite sqlite, postgresql
ANYCRAWL_API_DB_CONNECTION سلسلة/مسار اتصال قاعدة البيانات /usr/src/app/db/database.db /path/to/db.sqlite
ANYCRAWL_REDIS_URL عنوان URL لاتصال Redis redis://redis:6379 redis://localhost:6379
ANYCRAWL_API_AUTH_ENABLED تمكين مصادقة API false true, false
ANYCRAWL_API_CREDITS_ENABLED تمكين نظام النقاط false true, false

📝 دليل استخدام API

واجهة برمجة تطبيقات زحف الويب

الاستخدام الأساسي

curl -X POST http://localhost:8080/v1/scrape \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
-d '{
  "url": "https://example.com",
  "engine": "cheerio"
}'

شرح المعلمات

المعلمة النوع الوصف القيمة الافتراضية
url string (مطلوب) عنوان URL المراد زحفه. يجب أن يكون عنوان URL صالحًا يبدأ بـ http:// أو https:// -
engine string محرك الزحف المستخدم. الخيارات: cheerio (تحليل HTML ثابت، الأسرع)، playwright (عرض JavaScript، محرك حديث)، puppeteer (عرض JavaScript، محرك Chrome) cheerio
proxy string عنوان URL للوكيل للطلب. يدعم وكلاء HTTP و SOCKS. التنسيق: http://[username]:[password]@proxy:port (لا يوجد)

واجهة برمجة تطبيقات زحف محرك البحث

الاستخدام الأساسي

curl -X POST http://localhost:8080/v1/search \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
-d '{
  "query": "AnyCrawl",
  "limit": 10,
  "engine": "google",
  "lang": "all"
}'

شرح المعلمات

المعلمة النوع الوصف القيمة الافتراضية
query string (مطلوب) استعلام البحث المراد تنفيذه -
engine string محرك البحث المستخدم. الخيارات: google google
pages integer عدد صفحات نتائج البحث المراد استردادها 1
lang string رمز لغة نتائج البحث (على سبيل المثال: 'en'، 'zh'، 'all') en-US

🧪 الاختبار والتطوير

Playground

يمكنك استخدام Playground لاختبار API وإنشاء أمثلة التعليمات البرمجية للغة البرمجة المفضلة لديك.

💡 ملاحظة: إذا كنت تستضيف AnyCrawl ذاتيًا، فتأكد من استبدال https://api.anycrawl.dev بعنوان URL الخاص بالخادم الخاص بك.

❓ الأسئلة الشائعة

س: هل يمكنني استخدام وكيل؟

ج: نعم، يدعم AnyCrawl وكلاء HTTP و SOCKS. قم بالتكوين من خلال متغير البيئة ANYCRAWL_PROXY_URL.

س: كيف يمكنني التعامل مع المحتوى المعروض بواسطة JavaScript؟

ج: يدعم AnyCrawl Puppeteer و Playwright للتعامل مع احتياجات عرض JavaScript.

ملخص

يمثل AnyCrawl طليعة تكنولوجيا زحف الويب الحديثة، خاصة في تطبيقات الذكاء الاصطناعي والتعلم الآلي. إن أدائه العالي وسهولة استخدامه وميزاته الغنية تجعله الخيار الأمثل للمطورين والشركات للتعامل مع مهام استخلاص البيانات واسعة النطاق.

Star History Chart