Skip to content

mayo3030/yanfaa1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

تطبيق كشط موقع Yanfaa

تطبيق ويب شامل لكشط موقع Yanfaa باستخدام Crawl4AI مع إدارة المصادقة والجلسات وحفظ الكوكيز.

المميزات

  • ✅ تسجيل الدخول التلقائي مع حفظ الجلسات والكوكيز
  • ✅ كشط شامل لجميع الصفحات المتاحة في الموقع
  • ✅ استخراج جميع أنواع البيانات (HTML, Markdown, الروابط, الصور, الميتاداتا)
  • ✅ حفظ النتائج في تنسيقات متعددة (JSON, HTML, Markdown)
  • ✅ تجنب تكرار الصفحات
  • ✅ معالجة الأخطاء وإعادة المحاولة

المتطلبات

  • Python 3.8 أو أحدث
  • pip (مدير حزم Python)

التثبيت

1. استنساخ المشروع أو تحميل الملفات

تأكد من وجود جميع الملفات التالية في مجلد المشروع:

  • app.py
  • auth.py
  • scraper.py
  • config.py
  • requirements.txt

2. إنشاء بيئة افتراضية (موصى به)

# على Windows
python -m venv venv
venv\Scripts\activate

# على Linux/Mac
python3 -m venv venv
source venv/bin/activate

3. تثبيت المكتبات المطلوبة

pip install -r requirements.txt

4. تثبيت Playwright Browsers

playwright install chromium

الإعدادات

يمكنك تعديل الإعدادات في ملف config.py:

  • EMAIL: البريد الإلكتروني لتسجيل الدخول
  • PASSWORD: كلمة المرور
  • HEADLESS: False لعرض المتصفح، True للإخفاء
  • DELAY_BETWEEN_REQUESTS: وقت الانتظار بين طلبات الكشط (بالثواني)
  • MAX_PAGES_TO_SCRAPE: الحد الأقصى لعدد الصفحات المراد كشطها

الاستخدام

التشغيل الأساسي

python app.py

سير العمل

  1. التحقق من الجلسة: يتحقق التطبيق من وجود كوكيز محفوظة
  2. تسجيل الدخول: إذا لم تكن هناك جلسة محفوظة، يقوم بتسجيل الدخول تلقائياً
    • ⚠️ ملاحظة مهمة: قد تحتاج إلى حل reCAPTCHA يدوياً في المتصفح عند أول تسجيل دخول
  3. حفظ الجلسة: يتم حفظ الكوكيز في ملف cookies.json
  4. بدء الكشط: يبدأ التطبيق في كشط جميع الصفحات المتاحة
  5. حفظ النتائج: يتم حفظ جميع النتائج في مجلد output/

ملفات الإخراج

بعد اكتمال العملية، ستجد:

output/
├── scraped_data.json      # ملف JSON شامل بجميع البيانات
└── pages/                 # مجلد يحتوي على صفحات HTML و Markdown
    ├── index.html
    ├── index.md
    └── ...

scraped_data.json

يحتوي على:

  • عدد الصفحات المكشوطة
  • قائمة بجميع الروابط الزارعة
  • بيانات كل صفحة (HTML, Markdown, الروابط, الصور، إلخ)

pages/

يحتوي على:

  • ملف .html لكل صفحة مكشوطة
  • ملف .md (Markdown) لكل صفحة مكشوطة

البنية البرمجية

auth.py

إدارة المصادقة والجلسات:

  • YanfaaAuth: فئة لإدارة تسجيل الدخول
  • login(): تسجيل الدخول وحفظ الكوكيز
  • load_cookies(): تحميل الكوكيز المحفوظة
  • save_cookies(): حفظ الكوكيز في ملف

scraper.py

منطق الكشط:

  • YanfaaScraper: فئة للكشط الشامل
  • scrape_page(): كشط صفحة واحدة
  • scrape_site(): كشط تلقائي لجميع الصفحات
  • scrape_multiple_pages(): كشط صفحات محددة

app.py

التطبيق الرئيسي:

  • دالة main() التي تنسق بين المصادقة والكشط
  • معالجة الأخطاء وعرض الإحصائيات

config.py

الإعدادات المركزية:

  • بيانات تسجيل الدخول
  • مسارات الملفات
  • إعدادات المتصفح والكشط

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

مشكلة: فشل تسجيل الدخول

الحل:

  • تأكد من صحة بيانات تسجيل الدخول في config.py
  • تأكد من وجود اتصال بالإنترنت
  • قد تحتاج إلى حل reCAPTCHA يدوياً (قم بتعيين HEADLESS = False في config.py)

مشكلة: خطأ في تثبيت Playwright

الحل:

playwright install --help
playwright install chromium

مشكلة: بطء في الكشط

الحل:

  • قلل قيمة MAX_PAGES_TO_SCRAPE في config.py
  • زد قيمة DELAY_BETWEEN_REQUESTS لتقليل الضغط على الخادم

مشكلة: صفحات لم يتم كشطها

الحل:

  • تحقق من أن الصفحات قابلة للوصول بدون تسجيل دخول إضافي
  • تأكد من أن الكوكيز لم تنته صلاحيتها (قم بإعادة تسجيل الدخول)

ملاحظات مهمة

  1. احترم شروط الاستخدام: تأكد من الامتثال لشروط استخدام موقع Yanfaa
  2. لا تسيء الاستخدام: استخدم التطبيق بشكل مسؤول وبدون إرهاق الخادم
  3. الكوكيز: ملف cookies.json يحتوي على بيانات حساسة - لا تشاركه مع أحد
  4. reCAPTCHA: قد تحتاج إلى حل reCAPTCHA يدوياً في أول مرة

الترخيص

هذا المشروع للأغراض التعليمية فقط. استخدمه بشكل مسؤول واحترم حقوق الموقع.

المساهمة

للإبلاغ عن مشاكل أو اقتراح تحسينات، يرجى فتح issue في المستودع.

الدعم

إذا واجهت أي مشاكل:

  1. تحقق من قسم "استكشاف الأخطاء" أعلاه
  2. تأكد من تثبيت جميع المتطلبات بشكل صحيح
  3. تحقق من سجلات الأخطاء في وحدة التحكم

تم التطوير باستخدام:

  • Crawl4AI - مكتبة الكشط الرئيسية
  • Playwright - محرك المتصفح
  • Python 3.8+

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors