/ الدليل / الملعب / web-scraper
● مجتمع yfe404 ⚡ فوري

web-scraper

بواسطة yfe404 · yfe404/web-scraper

أداة كشط تجريبية متعددة المراحل تفضل واجهات برمجية > خرائط المواقع > HTML، وتختار قالب Apify المناسب (Cheerio أو Playwright)، وتصعّد آليات مكافحة الاكتشاف فقط عند الحاجة.

كشط ويب ذكي عبر Claude Code. ينفذ كشفاً استكشافياً خماسي المراحل (المراحل 0-5) يجرب أولاً أرخص مسار استخراج: واجهات برمجية عامة، تغذيات خريطة المواقع، البيانات المنظمة. فقط عندما تفشل تلك يعتبر أتمتة المتصفح، وفقط عندما تظهر إشارات حماية يضيف طبقات من الخفاء. مبني حول تطوير Apify Actor الموجه نحو TypeScript، مع قوالب (Cheerio للمحتوى الثابت، Playwright للمحتوى الثقيل بـ JavaScript).

لماذا تستخدمه

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

عرض مباشر

كيف يبدو في الممارسة

web-scraper-skill.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "web-scraper-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/yfe404/web-scraper",
        "~/.claude/skills/web-scraper"
      ],
      "_inferred": true
    }
  }
}

افتح Claude Desktop → Settings → Developer → Edit Config. أعد التشغيل بعد الحفظ.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "web-scraper-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/yfe404/web-scraper",
        "~/.claude/skills/web-scraper"
      ],
      "_inferred": true
    }
  }
}

يستخدم Cursor نفس مخطط mcpServers مثل Claude Desktop. إعدادات المشروع أولى من الإعدادات العامة.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "web-scraper-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/yfe404/web-scraper",
        "~/.claude/skills/web-scraper"
      ],
      "_inferred": true
    }
  }
}

انقر على أيقونة MCP Servers في شريط Cline الجانبي، ثم "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "web-scraper-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/yfe404/web-scraper",
        "~/.claude/skills/web-scraper"
      ],
      "_inferred": true
    }
  }
}

نفس الصيغة مثل Claude Desktop. أعد تشغيل Windsurf لتطبيق التغييرات.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "web-scraper-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/yfe404/web-scraper",
        "~/.claude/skills/web-scraper"
      ]
    }
  ]
}

يستخدم Continue مصفوفة من كائنات الخادم بدلاً من خريطة.

~/.config/zed/settings.json
{
  "context_servers": {
    "web-scraper-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/yfe404/web-scraper",
          "~/.claude/skills/web-scraper"
        ]
      }
    }
  }
}

أضف إلى context_servers. يعيد Zed التحميل تلقائيًا عند الحفظ.

claude mcp add web-scraper-skill -- git clone https://github.com/yfe404/web-scraper ~/.claude/skills/web-scraper

أمر من سطر واحد. تحقق باستخدام claude mcp list. احذف باستخدام claude mcp remove.

حالات الاستخدام

استخدامات عملية: web-scraper

كشط موقع قوائم ثابت إلى مجموعة بيانات منظمة

👤 مهندسو البيانات الذين يسحبون البيانات العامة (الدلائل، قوائم الأسعار، السجلات العامة) ⏱ ~45 min intermediate

متى تستخدمه: عندما تحتاج إلى مجموعة بيانات من موقع عام لا يحتوي على واجهة برمجية

المتطلبات الأساسية
  • Skill مثبتة — git clone https://github.com/yfe404/web-scraper ~/.claude/skills/web-scraper
  • Node 20 لـ Apify Actors — nvm install 20
الخطوات
  1. دع Skill تقوم بالكشف
    استخدم web-scraper. الهدف: https://example.com/listings. أريد name + URL + category. كشف أولاً — أخبرني بأرخص مسار استخراج.✓ تم النسخ
    → تقرير Skill: 'sitemap.xml متاح، استخدم Cheerio'
  2. أنشئ هيكل Apify Actor
    أنشئ هيكل TypeScript Apify Cheerio actor لهذا الاستخراج.✓ تم النسخ
    → هيكل Actor + main.ts جاهز للتشغيل
  3. قم بالتشغيل والتكرار
    قم بالتشغيل محلياً على 10 صفحات؛ شدد المحددات إذا لزم الأمر.✓ تم النسخ
    → مخرجات JSON نظيفة

النتيجة: Actor Apify يمكنك نشره لعمليات كشط مجدولة

المزالق
  • الانتقال إلى Playwright عندما يكون Cheerio كافياً — ثق بالكشف — متصفحات الرأس تكلف 10 أضعاف بلا داعٍ
اجمعها مع: apify · filesystem

اكتشف واستخدم API JSON غير موثقة للموقع بدلاً من HTML

👤 مطورو الكشط الذين يريدون الموثوقية ⏱ ~30 min intermediate

متى تستخدمه: الصفحة هي تطبيق أحادي الصفحة والـ HTML غير جميل، لكن استدعاءات XHR نظيفة JSON

الخطوات
  1. قم بتشغيل مرحلة اكتشاف API
    استخدم web-scraper المرحلة 1 — اكتشاف API على https://example.com/app. عدد نقاط نهاية XHR/fetch.✓ تم النسخ
    → قائمة نقاط النهاية مع الحمولات المرصودة
  2. بناء Actor القائم على JSON
    أنشئ actor يضرب تلك النقاط النهاية مباشرة مع المصادقة حسب الحاجة.✓ تم النسخ
    → Actor خفيف الوزن قائم على fetch

النتيجة: كشط أكثر استقراراً بكثير من تحليل HTML

المزالق
  • واجهات برمجية خاصة/موثقة جلسة تتكسر عند تدوير الرمز — خطط لمنطق تحديث الرمز أو العودة إلى سير عمل المتصفح

التركيبات

اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10

web-scraper-skill + apify

نشر Actor المُنشأ إلى Apify لتشغيل مجدولة

نشر هذا Actor إلى حسابي على Apify وجدولته يومياً.✓ تم النسخ
web-scraper-skill + filesystem

احتفظ برمز Actor في المستودع بجانب التطبيق المستهلك

أنشئ هيكل في scrapers/ والتزم به مع المشروع الرئيسي.✓ تم النسخ

الأدوات

ما يوفره هذا الـ MCP

الأداةالمدخلاتمتى تستدعيهاالتكلفة
recon url دائماً أولاً 0
scaffold_actor template (cheerio|playwright), target بعد أن يختار الكشف القالب 0
record_session url تصحيح المواقع الديناميكية 0
run_local actor path, limit مرحلة التكرار 0

التكلفة والحدود

تكلفة التشغيل

حصة API
لدى Apify حصصها الحسابية الخاصة + وكيل
الرموز لكل استدعاء
معتدل — هيكل وحلقات التكرار
التكلفة المالية
Skill مجانية؛ تكاليف Apify منفصلة
نصيحة
فضّل Cheerio — أحد أرخص ملفات التشغيل على Apify

الأمان

الصلاحيات والأسرار ونطاق الأثر

الحد الأدنى من الصلاحيات: Apify API token with actor:read + actor:write
تخزين بيانات الاعتماد: APIFY_TOKEN in env
نقل البيانات الخارجي: أي مواقع تستهدفها + منصة Apify

استكشاف الأخطاء

الأخطاء الشائعة وحلولها

Cheerio returns empty selectors

المحتوى يتم تصييره بـ JS — أعد تشغيل الكشف، توقع قالب Playwright

Playwright times out

زد مهلة التنقل؛ فكر في الانتظار على محدد معين بدلاً من networkidle

403 / bot-block page

توقف وأعد التفكير. هذه إشارة شرعية لإعادة التحقق من شروط الخدمة، وليست إشارة لتصعيد الخفاء.

البدائل

web-scraper مقابل البدائل

البديلمتى تستخدمهاالمقايضة
وحدة تحكم Apify المباشرةعندما تعرف بالفعل القالب الذي تحتاجهبدون مرحلة كشف
firecrawlعندما تحتاج فقط إلى markdown للصفحة، وليس استخراج منظمبدون هيكل actor

المزيد

الموارد

📖 اقرأ ملف README الرسمي على GitHub

🐙 تصفح القضايا المفتوحة

🔍 تصفح أكثر من 400 خادم MCP و Skills