
كشط الويب بطريقة سهلة
سكربّر ليس أداة كشط — إنه مراقب جلسة يلتقط بيانات متصفحك الحقيقية لاستخدامها في أي أداة أتمتة.
مبني على إطار عمل BertUI React
GitHub: BunElysiaReact/SCRAPY
لا نطاق. لا سحابة. كل شيء محلي. كل شيء لك.

كل أداة أتمتة ويب — Puppeteer، Playwright، Selenium، وحتى curl — تواجه نفس التحديات:
| التحدي | لماذا هو صعب |
|---|---|
| المصادقة | كتابة نصوص برمجية يدوية لتسجيل الدخول لكل موقع أمر ممل وهش |
| حالة الجلسة | تنتهي صلاحية الكوكيز، وتدور الرموز، ويتم مسح التخزين المحلي |
| الهندسة العكسية | ساعات تقضيها في DevTools لفهم أنماط API |
| كشف البوتات | بصمات TLS، إنتروبيا المتصفح، Cloudflare، hCaptcha |
| تعقيد الإعداد | صراع مع المتصفحات عديمة الرأس والبروكسيات والإضافات التخفيّة |
المشكلة الحقيقية: كل هذه الأدوات تحاول تقليد البشر. لكنها تخمّن كيف يبدو الإنسان الحقيقي.
| سكربّر هو... | سكربّر ليس... |
|---|---|
| 🔍 مراقب جلسة يراقب متصفحك الحقيقي | ❌ بديلاً عن Puppeteer/Playwright/Selenium |
| 💾 أداة التقاط بيانات تحفظ جلستك الفعلية | ❌ أداة كشط مواقع ويب نيابة عنك |
| 📡 خادم API محلي يخدم بياناتك الملتقطة | ❌ خدمة مستضافة أو منصة سحابية |
| 🧠 مساعد هندسة عكسية يكشف APIs مخفية | ❌ زر سحري "اكشط أي شيء" |
| 🎯 مصحح بصري لفهم بنية الموقع | ❌ أداة أتمتة بدون كود |
سكربّر لا يقوم بالكشط. إنه يعطيك البيانات الحقيقية التي تحتاجها للكشط بنجاح.
أنت سكربّر
│ │
├── افتح Brave/Chrome/Firefox مع الإضافة ──────►│
│ │
├── سجل الدخول إلى المواقع التي تريد أتمتتها ──────►│ يلتقط:
│ │ • كوكيز
├── تصفح بشكل طبيعي، انقر على الأزرار ────────────►│ • رموز
│ │ • بصمة
└── انتهى التصفح ─────────────────────────────────►│ • طلبات API
│ • هيكل DOM
نصِّك البرمجي ──── GET /api/v1/session/all ────► API سكربّر (localhost:8080)
◄── { cookies, tokens, fingerprint } ────────────────────────┘
│
▼
Puppeteer / Playwright / Selenium / طلبات Python / curl
│
▼
✅ طلبات مصادق عليها باستخدام جلستك الحقيقية

إضافة سكربّر

تسجيل الإضافة

النص البرمجي أعلاه استخدم سكربّر لالتقاط جلسة حقيقية من claude.ai، ثم أرسل الرسائل مباشرة عبر API — بدون كود تسجيل دخول، بدون Puppeteer، بدون أتمتة متصفح.
📦 بيانات الجلسة
├── 🍪 كوكيز (بما في ذلك HttpOnly، Secure، جميع النطاقات)
├── 💾 التخزين المحلي وتخزين الجلسة
├── 🔑 رموز المصادقة (Bearer، JWT، CSRF، مخصصة)
└── 📨 جميع رؤوس HTTP
🖥️ بصمة المتصفح
├── 📱 وكيل المستخدم
├── 🖼️ دقة الشاشة وعمق الألوان
├── 🌍 المنطقة الزمنية وإعدادات اللغة
└── 📨 مجموعة الرؤوس الكاملة (Accept، Accept-Language، إلخ.)
📡 حركة الشبكة
├── 📤 جميع طلبات HTTP (عناوين URL، طرق، رؤوس، بيانات POST)
├── 📥 جميع استجابات HTTP (الحالة، الرؤوس، الأجسام)
└── 🔄 إطارات WebSocket
🌳 حالة DOM
├── 📄 لقطات DOM
├── 🎯 اختبار المحددات الحية
└── 🗺️ خرائط DOM (جميع العلامات، الفئات، المعرفات)
| الميزة | لماذا تهم |
|---|---|
| تجاوز كشف البوتات المتقدم | يستخدم curl_cffi لتقمّص بصمة TLS لمتصفح حقيقي (مثل Chrome 120) — لا يتم وضع علامة عليه كآلي |
| معدل نجاح 97% | يستهدف مسارات API الداخلية، وليس واجهة المستخدم المرئية — محصن ضد تغييرات CSS، الأزرار المتحركة، أو تغييرات التخطيط |
| استخدام منخفض للموارد | ~20MB رام مقابل 500MB+ لـ Puppeteer/Selenium. لا يوجد محرك متصفح يعمل |
| مصادقة غير مرئية | يستغل جلستك الحالية التي تم التحقق منها بشريًا — بدون تدفق تسجيل دخول، بدون CAPTCHAs |
| مزامنة مع المتصفح الحقيقي | تظهر الرسائل / الإجراءات من النصوص البرمجية في علامة تبويب متصفحك الحقيقي عند التحديث |
| غير مرتبط بلغة برمجة | يعمل API الجلسة مع Python، Go، Rust، Node، curl — أي شيء يمكنه إجراء طلبات HTTP |
| العيب | ما يعنيه |
|---|---|
| عمر جلسة هش | يعتمد كليًا على جلسة متصفح نشطة — تنتهي إذا قمت بتسجيل الخروج |
| يعتمد على APIs داخلية | يستخدم نقاط نهاية غير موثقة يمكن أن تتغير دون إشعار |
| يتطلب بنية تحتية للإعداد | ليس مستقلاً — يتطلب تشغيل مضيف أصلي وإضافة متصفح في وقت واحد |
| خطر على الحساب | يستخدم هويتك الحقيقية. يمكن أن يؤدي الضرب بمعدل عدواني إلى حظر حسابك الحقيقي |
| منحنى تعلم | يجب قراءة حركة الشبكة لفهم حمولات API الصحيحة |
| ربط بجهاز واحد | device-id مرتبط بجلسة واحدة ملتقطة — لا يمكن مشاركته بسهولة عبر الأجهزة |
بمجرد الالتقاط، يخدم سكربّر كل شيء عبر REST API بسيط على http://localhost:8080.
| نقطة النهاية | الوصف |
|---|---|
GET /api/v1/session/cookies?domain=example.com | جميع الكوكيز لنطاق |
GET /api/v1/session/localstorage?domain=example.com | بيانات التخزين المحلي |
GET /api/v1/session/all | تفريغ جلسة كامل |
GET /api/v1/fingerprint | بصمة المتصفح |
GET /api/v1/tokens/all | جميع الرموز المستخرجة |
GET /api/v1/requests/recent?limit=50 | طلبات الشبكة الأخيرة |
GET /api/v1/dom/snapshot?url=example.com | لقطة DOM |
GET /api/v1/export/env | صيغة متغيرات البيئة |
GET /api/v1/bulk/all?format=[json|jsonl|har|csv|txt] | كل شيء، الصيغة التي تريدها |
curl -fsSL https://raw.githubusercontent.com/BunElysiaReact/SCRAPY/main/install.sh | bash
# الخطوة 1 — تحميل الإضافة في Brave:
# brave://extensions → وضع المطور تشغيل → تحميل غير معبأ
# → اختر: ~/.scrapper/extension/brave/
# الخطوة 2 — تسجيل معرف الإضافة الخاص بك
scrapper-register-ext YOUR_EXTENSION_ID
# الخطوة 3 — تشغيل سكربّر
scrapper-start
# الخطوة 4 — افتح لوحة التحكم
# http://localhost:8080