تطبيق ويب شامل لكشط موقع Yanfaa باستخدام Crawl4AI مع إدارة المصادقة والجلسات وحفظ الكوكيز.
- ✅ تسجيل الدخول التلقائي مع حفظ الجلسات والكوكيز
- ✅ كشط شامل لجميع الصفحات المتاحة في الموقع
- ✅ استخراج جميع أنواع البيانات (HTML, Markdown, الروابط, الصور, الميتاداتا)
- ✅ حفظ النتائج في تنسيقات متعددة (JSON, HTML, Markdown)
- ✅ تجنب تكرار الصفحات
- ✅ معالجة الأخطاء وإعادة المحاولة
- Python 3.8 أو أحدث
- pip (مدير حزم Python)
تأكد من وجود جميع الملفات التالية في مجلد المشروع:
app.pyauth.pyscraper.pyconfig.pyrequirements.txt
# على Windows
python -m venv venv
venv\Scripts\activate
# على Linux/Mac
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txtplaywright install chromiumيمكنك تعديل الإعدادات في ملف config.py:
EMAIL: البريد الإلكتروني لتسجيل الدخولPASSWORD: كلمة المرورHEADLESS:Falseلعرض المتصفح،TrueللإخفاءDELAY_BETWEEN_REQUESTS: وقت الانتظار بين طلبات الكشط (بالثواني)MAX_PAGES_TO_SCRAPE: الحد الأقصى لعدد الصفحات المراد كشطها
python app.py- التحقق من الجلسة: يتحقق التطبيق من وجود كوكيز محفوظة
- تسجيل الدخول: إذا لم تكن هناك جلسة محفوظة، يقوم بتسجيل الدخول تلقائياً
⚠️ ملاحظة مهمة: قد تحتاج إلى حل reCAPTCHA يدوياً في المتصفح عند أول تسجيل دخول
- حفظ الجلسة: يتم حفظ الكوكيز في ملف
cookies.json - بدء الكشط: يبدأ التطبيق في كشط جميع الصفحات المتاحة
- حفظ النتائج: يتم حفظ جميع النتائج في مجلد
output/
بعد اكتمال العملية، ستجد:
output/
├── scraped_data.json # ملف JSON شامل بجميع البيانات
└── pages/ # مجلد يحتوي على صفحات HTML و Markdown
├── index.html
├── index.md
└── ...
يحتوي على:
- عدد الصفحات المكشوطة
- قائمة بجميع الروابط الزارعة
- بيانات كل صفحة (HTML, Markdown, الروابط, الصور، إلخ)
يحتوي على:
- ملف
.htmlلكل صفحة مكشوطة - ملف
.md(Markdown) لكل صفحة مكشوطة
إدارة المصادقة والجلسات:
YanfaaAuth: فئة لإدارة تسجيل الدخولlogin(): تسجيل الدخول وحفظ الكوكيزload_cookies(): تحميل الكوكيز المحفوظةsave_cookies(): حفظ الكوكيز في ملف
منطق الكشط:
YanfaaScraper: فئة للكشط الشاملscrape_page(): كشط صفحة واحدةscrape_site(): كشط تلقائي لجميع الصفحاتscrape_multiple_pages(): كشط صفحات محددة
التطبيق الرئيسي:
- دالة
main()التي تنسق بين المصادقة والكشط - معالجة الأخطاء وعرض الإحصائيات
الإعدادات المركزية:
- بيانات تسجيل الدخول
- مسارات الملفات
- إعدادات المتصفح والكشط
الحل:
- تأكد من صحة بيانات تسجيل الدخول في
config.py - تأكد من وجود اتصال بالإنترنت
- قد تحتاج إلى حل reCAPTCHA يدوياً (قم بتعيين
HEADLESS = Falseفيconfig.py)
الحل:
playwright install --help
playwright install chromiumالحل:
- قلل قيمة
MAX_PAGES_TO_SCRAPEفيconfig.py - زد قيمة
DELAY_BETWEEN_REQUESTSلتقليل الضغط على الخادم
الحل:
- تحقق من أن الصفحات قابلة للوصول بدون تسجيل دخول إضافي
- تأكد من أن الكوكيز لم تنته صلاحيتها (قم بإعادة تسجيل الدخول)
- احترم شروط الاستخدام: تأكد من الامتثال لشروط استخدام موقع Yanfaa
- لا تسيء الاستخدام: استخدم التطبيق بشكل مسؤول وبدون إرهاق الخادم
- الكوكيز: ملف
cookies.jsonيحتوي على بيانات حساسة - لا تشاركه مع أحد - reCAPTCHA: قد تحتاج إلى حل reCAPTCHA يدوياً في أول مرة
هذا المشروع للأغراض التعليمية فقط. استخدمه بشكل مسؤول واحترم حقوق الموقع.
للإبلاغ عن مشاكل أو اقتراح تحسينات، يرجى فتح issue في المستودع.
إذا واجهت أي مشاكل:
- تحقق من قسم "استكشاف الأخطاء" أعلاه
- تأكد من تثبيت جميع المتطلبات بشكل صحيح
- تحقق من سجلات الأخطاء في وحدة التحكم
تم التطوير باستخدام:
- Crawl4AI - مكتبة الكشط الرئيسية
- Playwright - محرك المتصفح
- Python 3.8+