Skip to content

mayo3030/corsera2020

Repository files navigation

Coursera Scraper - دليل المستخدم

تطبيق Streamlit لتنزيل محتوى دورات Coursera بشكل شامل ومنظم.

🚀 البدء السريع

للبدء السريع، راجع QUICK_START.md

الأوامر الأساسية

# 1. تثبيت التبعيات
pip install -r requirements.txt

# 2. فحص البيئة
python startup_check.py

# 3. تشغيل الخادم
python run_server.py

أو مباشرة:

streamlit run app.py --server.port 5000

📋 المتطلبات الأساسية

  • Python 3.11 أو أحدث (مطلوب حسب pyproject.toml)
  • Chrome أو Chromium (للوظائف التي تتطلب تسجيل الدخول)
  • اتصال بالإنترنت
  • الحزم المطلوبة (انظر requirements.txt)

الحزم المطلوبة

من pyproject.toml:

  • streamlit>=1.51.0
  • selenium>=4.38.0
  • beautifulsoup4>=4.14.3
  • requests>=2.32.5
  • fpdf2>=2.8.5
  • trafilatura>=2.0.0
  • undetected-chromedriver>=3.5.5
  • webdriver-manager>=4.0.2

📦 التثبيت

الطريقة 1: استخدام requirements.txt (موصى بها)

pip install -r requirements.txt

الطريقة 2: استخدام pyproject.toml

pip install -e .

الطريقة 3: التثبيت اليدوي

pip install streamlit selenium beautifulsoup4 requests fpdf2 trafilatura undetected-chromedriver webdriver-manager

🏃 تشغيل التطبيق

الخطوة 1: فحص البيئة

قبل تشغيل الخادم، قم بتشغيل فحص التشخيص:

python startup_check.py

سيقوم هذا بفحص:

  • ✅ إصدار Python
  • ✅ الحزم المثبتة
  • ✅ متصفح Chrome/Chromium
  • ✅ توفر المنفذ 5000
  • ✅ المجلدات المطلوبة
  • ✅ متغيرات البيئة (اختيارية)
  • ✅ أذونات الملفات
  • ✅ الاتصال بالإنترنت
  • ✅ تثبيت Streamlit

الخطوة 2: إصلاح المشاكل (إن وجدت)

إذا ظهرت مشاكل، راجع TROUBLESHOOTING.md للحلول.

الخطوة 3: تشغيل الخادم

الطريقة الموصى بها: استخدام run_server.py

python run_server.py

هذا السكريبت:

  • ✅ يفحص البيئة تلقائياً
  • ✅ يحاول إصلاح المشاكل الشائعة
  • ✅ يختار منفذ متاح تلقائياً
  • ✅ يفتح المتصفح تلقائياً

خيارات run_server.py

# تخطي فحوصات التشخيص
python run_server.py --skip-checks

# تحديد منفذ مخصص
python run_server.py --port 8501

# عدم فتح المتصفح تلقائياً
python run_server.py --no-browser

# إصلاح المشاكل تلقائياً
python run_server.py --fix

الطريقة المباشرة: استخدام Streamlit مباشرة

streamlit run app.py --server.port 5000

الخطوة 4: الوصول إلى التطبيق

بعد تشغيل الخادم، افتح المتصفح على:

http://localhost:5000

إذا كان المنفذ 5000 مشغولاً، سيتم استخدام منفذ بديل (8501، 8502، إلخ).

⚙️ الإعدادات الاختيارية

متغيرات البيئة

يمكنك إعداد متغيرات البيئة لتسهيل تسجيل الدخول:

Windows (PowerShell)

$env:COURSERA_EMAIL="your_email@example.com"
$env:COURSERA_PASSWORD="your_password"
$env:BRIGHTDATA_API_KEY="your_brightdata_key"

Windows (CMD)

set COURSERA_EMAIL=your_email@example.com
set COURSERA_PASSWORD=your_password
set BRIGHTDATA_API_KEY=your_brightdata_key

Linux/Mac

export COURSERA_EMAIL="your_email@example.com"
export COURSERA_PASSWORD="your_password"
export BRIGHTDATA_API_KEY="your_brightdata_key"

ملف .env (موصى به)

أنشئ ملف .env في المجلد الرئيسي:

COURSERA_EMAIL=your_email@example.com
COURSERA_PASSWORD=your_password
BRIGHTDATA_API_KEY=your_brightdata_key

ثم قم بتحميله (قد تحتاج إلى python-dotenv):

pip install python-dotenv

🔧 المشاكل الشائعة والحلول

المنفذ 5000 مشغول

الأعراض: خطأ "Port already in use"

الحل:

  1. استخدام منفذ مختلف:

    streamlit run app.py --server.port 8501
  2. أو استخدام run_server.py الذي يختار منفذ تلقائياً:

    python run_server.py
  3. إيجاد العملية التي تستخدم المنفذ:

    • Windows: netstat -ano | findstr :5000
    • Linux/Mac: lsof -i :5000

الحزم غير مثبتة

الأعراض: خطأ "ModuleNotFoundError"

الحل:

pip install -r requirements.txt

Streamlit غير موجود

الأعراض: خطأ "streamlit: command not found"

الحل:

pip install streamlit
# أو
python -m pip install streamlit

مشاكل Chrome/WebDriver

الأعراض: خطأ Selenium أو "Chrome not found"

الحل:

  1. تثبيت Chrome من https://www.google.com/chrome/
  2. أو استخدام طريقة استيراد الكوكيز بدلاً من تسجيل الدخول التلقائي
  3. أو استخدام webdriver-manager الذي يتم تثبيته تلقائياً

أخطاء الأذونات

الأعراض: "Permission denied" عند إنشاء الملفات

الحل:

  • تأكد من أذونات الكتابة في المجلد الحالي
  • على Linux/Mac: chmod +w .
  • على Windows: تأكد من تشغيل PowerShell/CMD كمسؤول إذا لزم الأمر

مشاكل الاتصال

الأعراض: "Connection error" أو "Timeout"

الحل:

  • تحقق من اتصالك بالإنترنت
  • تحقق من إعدادات الجدار الناري
  • جرب تفعيل البروكسي BrightData من واجهة التطبيق

للحصول على حلول أكثر تفصيلاً، راجع TROUBLESHOOTING.md

🛠️ أوامر استكشاف الأخطاء

فحص إصدار Python

python --version

يجب أن يكون 3.11 أو أحدث.

فحص الحزم المثبتة

pip list | grep streamlit

فحص المنفذ

Windows:

netstat -ano | findstr :5000

Linux/Mac:

lsof -i :5000

اختبار Streamlit

streamlit hello

إذا عمل هذا الأمر، فـ Streamlit مثبت بشكل صحيح.

📚 الوثائق الإضافية

🆘 الحصول على المساعدة

  1. شغّل فحص التشخيص:

    python startup_check.py
  2. راجع TROUBLESHOOTING.md للحلول الشائعة

  3. راجع CURSOR_HANDOFF.md للتفاصيل التقنية

  4. تحقق من قسم التشخيص في واجهة التطبيق (في الشريط الجانبي)

📝 ملاحظات

  • يتم حفظ الكوكيز في coursera_cookies.pkl
  • يتم حفظ الملفات المنزلة في coursera_downloads/
  • يتم حفظ ملفات ZIP في zip_exports/
  • جميع هذه المجلدات يتم إنشاؤها تلقائياً

🔐 الأمان

  • لا يتم حفظ بيانات تسجيل الدخول (البريد الإلكتروني/كلمة المرور)
  • يتم حفظ الكوكيز فقط محلياً
  • متغيرات البيئة اختيارية ويمكن استخدامها لتسهيل تسجيل الدخول
  • استخدم استيراد الكوكيز إذا كنت تفضل عدم إدخال بيانات تسجيل الدخول

آخر تحديث: ديسمبر 2024

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages