تطبيق 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.0selenium>=4.38.0beautifulsoup4>=4.14.3requests>=2.32.5fpdf2>=2.8.5trafilatura>=2.0.0undetected-chromedriver>=3.5.5webdriver-manager>=4.0.2
pip install -r requirements.txtpip install -e .pip install streamlit selenium beautifulsoup4 requests fpdf2 trafilatura undetected-chromedriver webdriver-managerقبل تشغيل الخادم، قم بتشغيل فحص التشخيص:
python startup_check.pyسيقوم هذا بفحص:
- ✅ إصدار Python
- ✅ الحزم المثبتة
- ✅ متصفح Chrome/Chromium
- ✅ توفر المنفذ 5000
- ✅ المجلدات المطلوبة
- ✅ متغيرات البيئة (اختيارية)
- ✅ أذونات الملفات
- ✅ الاتصال بالإنترنت
- ✅ تثبيت Streamlit
إذا ظهرت مشاكل، راجع TROUBLESHOOTING.md للحلول.
python 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 --fixstreamlit run app.py --server.port 5000بعد تشغيل الخادم، افتح المتصفح على:
http://localhost:5000
إذا كان المنفذ 5000 مشغولاً، سيتم استخدام منفذ بديل (8501، 8502، إلخ).
يمكنك إعداد متغيرات البيئة لتسهيل تسجيل الدخول:
$env:COURSERA_EMAIL="your_email@example.com"
$env:COURSERA_PASSWORD="your_password"
$env:BRIGHTDATA_API_KEY="your_brightdata_key"set COURSERA_EMAIL=your_email@example.com
set COURSERA_PASSWORD=your_password
set BRIGHTDATA_API_KEY=your_brightdata_keyexport COURSERA_EMAIL="your_email@example.com"
export COURSERA_PASSWORD="your_password"
export BRIGHTDATA_API_KEY="your_brightdata_key"أنشئ ملف .env في المجلد الرئيسي:
COURSERA_EMAIL=your_email@example.com
COURSERA_PASSWORD=your_password
BRIGHTDATA_API_KEY=your_brightdata_key
ثم قم بتحميله (قد تحتاج إلى python-dotenv):
pip install python-dotenvالأعراض: خطأ "Port already in use"
الحل:
-
استخدام منفذ مختلف:
streamlit run app.py --server.port 8501
-
أو استخدام run_server.py الذي يختار منفذ تلقائياً:
python run_server.py
-
إيجاد العملية التي تستخدم المنفذ:
- Windows:
netstat -ano | findstr :5000 - Linux/Mac:
lsof -i :5000
- Windows:
الأعراض: خطأ "ModuleNotFoundError"
الحل:
pip install -r requirements.txtالأعراض: خطأ "streamlit: command not found"
الحل:
pip install streamlit
# أو
python -m pip install streamlitالأعراض: خطأ Selenium أو "Chrome not found"
الحل:
- تثبيت Chrome من https://www.google.com/chrome/
- أو استخدام طريقة استيراد الكوكيز بدلاً من تسجيل الدخول التلقائي
- أو استخدام
webdriver-managerالذي يتم تثبيته تلقائياً
الأعراض: "Permission denied" عند إنشاء الملفات
الحل:
- تأكد من أذونات الكتابة في المجلد الحالي
- على Linux/Mac:
chmod +w . - على Windows: تأكد من تشغيل PowerShell/CMD كمسؤول إذا لزم الأمر
الأعراض: "Connection error" أو "Timeout"
الحل:
- تحقق من اتصالك بالإنترنت
- تحقق من إعدادات الجدار الناري
- جرب تفعيل البروكسي BrightData من واجهة التطبيق
للحصول على حلول أكثر تفصيلاً، راجع TROUBLESHOOTING.md
python --versionيجب أن يكون 3.11 أو أحدث.
pip list | grep streamlitWindows:
netstat -ano | findstr :5000Linux/Mac:
lsof -i :5000streamlit helloإذا عمل هذا الأمر، فـ Streamlit مثبت بشكل صحيح.
- QUICK_START.md - دليل البدء السريع (3 أوامر فقط)
- TROUBLESHOOTING.md - دليل شامل لاستكشاف الأخطاء
- CURSOR_HANDOFF.md - الوثائق التقنية الكاملة
- replit.md - وثائق المستخدم (إن وجدت)
-
شغّل فحص التشخيص:
python startup_check.py
-
راجع TROUBLESHOOTING.md للحلول الشائعة
-
راجع CURSOR_HANDOFF.md للتفاصيل التقنية
-
تحقق من قسم التشخيص في واجهة التطبيق (في الشريط الجانبي)
- يتم حفظ الكوكيز في
coursera_cookies.pkl - يتم حفظ الملفات المنزلة في
coursera_downloads/ - يتم حفظ ملفات ZIP في
zip_exports/ - جميع هذه المجلدات يتم إنشاؤها تلقائياً
- لا يتم حفظ بيانات تسجيل الدخول (البريد الإلكتروني/كلمة المرور)
- يتم حفظ الكوكيز فقط محلياً
- متغيرات البيئة اختيارية ويمكن استخدامها لتسهيل تسجيل الدخول
- استخدم استيراد الكوكيز إذا كنت تفضل عدم إدخال بيانات تسجيل الدخول
آخر تحديث: ديسمبر 2024