هذا عبارة عن شوكة من Coursera-dl تعمل مع Python الحديثة وcoursera.org الحديثة، مع ميزات وتصحيحات إضافية.
تحميل كورسيرا
مقدمة
سمات
تنصل
تعليمات التثبيت
طريقة التثبيت البديلة لأنظمة يونكس
com.ArchLinux
تثبيت التبعيات بنفسك
طريقة التثبيت الموصى بها لجميع أنظمة التشغيل
طرق بديلة لتثبيت التبعيات المفقودة
عامل ميناء
ويندوز
أنشئ حسابًا على كورسيرا
تشغيل البرنامج النصي
استئناف التنزيلات
استكشاف الأخطاء وإصلاحها
قضايا الصين
تم العثور على 0 أقسام و 0 محاضرات في هذه الصفحة
تنزيل المهلات
ويندوز: دعم الوكيل
Windows: فشل في إنشاء العملية
خطأ SSLE: [Errno 1] _ssl.c:504: خطأ: 14094410: إجراءات SSL: SSL3_READ_BYTES: فشل المصافحة في حالة تأهب sslv3
CDN بديل لـ MathJax.js
قضايا الإبلاغ
تقديم مشكلة/الإبلاغ عن خطأ
تعليق
اتصال
يسهّل هذا البرنامج النصي تنزيل موارد المحاضرات دفعة واحدة (مثل مقاطع الفيديو وعروض ppt وما إلى ذلك) لفصول كورسيرا. عند إعطاء اسم فصل واحد أو أكثر، فإنه يحصل على أسماء الأسابيع والفصول من صفحة المحاضرات ، ثم يقوم بتنزيل المواد ذات الصلة إلى ملفات وأدلة مسماة بشكل مناسب.
هذا العمل مستوحى جزئيًا في الأصل من [youtube-dl] [3] والذي من خلاله قمت بتنزيل العديد من مقاطع الفيديو الجيدة الأخرى مثل تلك الموجودة في أكاديمية خان.
دعم لجميع أنواع الدورات التدريبية (على سبيل المثال، "المنصة القديمة"/الدورات التدريبية المستندة إلى الوقت وكذلك "المنصة الجديدة"/الدورات التدريبية حسب الطلب).
أسماء مفصلة عن عمد، بحيث يتم عرضها وفرزها بشكل صحيح على معظم الواجهات (على سبيل المثال، VLC أو MX Video على أجهزة Android).
القسم المستند إلى Regex (الأسبوع) ومرشحات أسماء المحاضرات لتنزيل موارد معينة فقط.
عامل تصفية ملحق تنسيق الملف للحصول على أنواع الموارد التي تريدها.
تم تحميل الوسائط الافتراضية من ملف coursera-dl.conf
.
تم اختبار الوظائف الأساسية على Linux وMac وWindows.
من المفترض أن يتم استخدام cs-dlp
فقط للمواد الخاصة بك التي تتيح لك كورسيرا الوصول إليها للتنزيل.
نحن لا نشجع أي استخدام ينتهك شروط الاستخدام الخاصة بهم. مقتطف ذو صلة:
"[...] تمنحك كورسيرا ترخيصًا شخصيًا وغير حصري وغير قابل للتحويل للوصول إلى المواقع واستخدامها. ولا يجوز لك تنزيل المواد من المواقع إلا لاستخدامك الشخصي وغير التجاري. ولا يجوز لك نسخ المواد بأي طريقة أخرى أو إعادة إنتاج أو إعادة إرسال أو توزيع أو نشر أو استغلال تجاري أو نقل أي مادة، ولا يجوز لك تعديل أو إنشاء أعمال مشتقة من المادة."
يتطلب cs-dlp
وجود لغة Python 3 وحساب كورسيرا مسجلاً في الفئة محل الاهتمام.
ملاحظة: cs-dlp
غير متوافق مع Python 2.
في أي نظام تشغيل، تأكد من إضافة موقع Python القابل للتنفيذ إلى متغير بيئة PATH
الخاص بك، وبمجرد تثبيت التبعيات (انظر القسم التالي)، للاستخدام الأساسي ، ستحتاج إلى استدعاء البرنامج النصي من الدليل الرئيسي لـ project وألحقه بكلمة python
. يمكنك أيضًا استخدام المزيد من الميزات المتقدمة للبرنامج من خلال الاطلاع على قسم "تشغيل البرنامج النصي" في هذا المستند.
ملاحظة: يجب أن تكون قد وافقت بالفعل (يدويًا) على شرف البرمجة للدورات التدريبية المحددة التي تريد استخدامها مع cs-dlp
.
من سطر الأوامر (ويفضل أن يكون ذلك من بيئة افتراضية)، ما عليك سوى إصدار الأمر:
git clone https://github.com/raffaem/cs-dlp cd cs-dlp python -m pip install --user .
ملاحظة 1: نوصي بشدة بعدم تثبيت الحزمة بشكل عام على جهازك (أي مع امتيازات الجذر/المسؤول)، حيث قد تتعارض الوحدات المثبتة مع تطبيقات Python الأخرى التي قمت بتثبيتها في نظامك. يُفضل استخدام الخيار --user
to pip install
.
لا يحتوي cs-dlp
حاليًا على حزمة AUR. مساعدة مرحبا!
إذا لم يكن لديك حساب بالفعل، فقم بإنشاء حساب [Coursera] [1] وقم بالتسجيل في فصل دراسي. راجع https://www.coursera.org/courses للحصول على قائمة الفصول الدراسية.
للمصادقة مع كورسيرا، تحتاج إلى ملف تعريف الارتباط CAUTH.
توجد حاليًا طريقتان معتمدتان للقيام بذلك: يمكنك الحصول على cs-dlp
للحصول عليه تلقائيًا من متصفحك، أو يمكنك تمرير واحدة يدويًا.
الطريقة التلقائية
chrome
لجوجل كروم
chromium
opera
opera_gx
brave
edge
vivaldi
firefox
librewolf
safari
افتح متصفحك المفضل وقم بتسجيل الدخول إلى كورسيرا
اتصل بـ cs-dlp
باستخدام خيار --cauth-auto browser
.
الخيارات الصالحة browser
هي:
الطريقة اليدوية
قم بتمرير ملف تعريف الارتباط CAUTH إلى خيار --cauth
.
ارجع إلى cs-dlp --help
للحصول على مرجع كامل ومحدث حول خيارات وقت التشغيل التي تدعمها هذه الأداة المساعدة.
قم بتشغيل البرنامج النصي لتنزيل المواد من خلال توفير ملف تعريف الارتباط CAUTH الخاص بك على Coursera، وأسماء الفئات، بالإضافة إلى أي معلمات إضافية:
cs-dlp --cauth-auto chrome modelthinking-004
فيما يلي بعض الأمثلة حول كيفية استدعاء cs-dlp
من سطر الأوامر:
Multiple classes: cs-dlp --cauth-auto chrome saas historyofrock1-001 algo-2012-002 Filter by section name: cs-dlp --cauth-auto chrome -sf "Chapter_Four" crypto-004 Filter by lecture name: cs-dlp --cauth-auto chrome -lf "3.1_" ml-2012-002 Download only ppt files: cs-dlp --cauth-auto chrome -f "ppt" qcomp-2012-001 Get the preview classes: cs-dlp --cauth-auto chrome -b ni-001 Download videos at 720p: cs-dlp --cauth-auto chrome --video-resolution 720p ni-001 Specify download path: cs-dlp --cauth-auto chrome --path=C:CourseraClasses comnetworks-002 Display help: cs-dlp --help Maintain a list of classes in a dir: Initialize: mkdir -p CURRENT/{class1,class2,..classN} Update: cs-dlp -n --path CURRENT `ls CURRENT`
ملاحظة: إذا كان الأمر ls
الخاص بك مستعارًا لعرض مخرجات ملونة، فقد تواجه مشكلات. تأكد من الهروب من الأمر ls
(استخدم ls
) لضمان عدم إرسال أي أحرف خاصة إلى البرنامج النصي.
لاحظ أننا ندعم دورات النظام الأساسي الجديد ("حسب الطلب").
افتراضيًا، يتم تنزيل مقاطع الفيديو بدقة 540 بكسل. بالنسبة للدورات التدريبية حسب الطلب، تقبل العلامة --video-resolution
قيم 360p و540p و720p.
لتنزيل ملفات الترجمة .txt
و/أو .srt
فقط بدلاً من مقاطع الفيديو، استخدم --ignore-formats mp4 --subtitle-language en
أو أي تنسيق تم ترميز مقاطع الفيديو به واللغات المطلوبة للترجمة.
إذا كنت تريد تخزين المعلمات المفضلة لديك، فقم بإنشاء ملف باسم coursera-dl.conf
حيث من المفترض أن يتم تنفيذ البرنامج النصي، بالتنسيق التالي:
--subtitle-language en,zh-CN|zh-TW --download-quizzes #--mathjax-cdn https://cdn.bootcss.com/mathjax/2.7.1/MathJax.js # more other parameters
سيتم تجاوز المعلمات المحددة في الملف إذا تم توفيرها مرة أخرى في سطر الأوامر.
ملحوظة: في coursera-dl.conf
، لا ينبغي أن تكون جميع المعلمات محاطة بعلامات اقتباس.
في الوضع الافتراضي، عند مقاطعة عملية التنزيل بالضغط على CTRL + C ، سيتم حذف الملفات التي تم تنزيلها جزئيًا من القرص لديك وسيتعين عليك بدء عملية التنزيل من البداية. إذا تمت مقاطعة التنزيل الخاص بك بسبب شيء آخر غير KeyboardInterrupt ( CTRL + C ) مثل تعطل النظام المفاجئ، فستظل الملفات التي تم تنزيلها جزئيًا على القرص الخاص بك وفي المرة التالية التي تبدأ فيها العملية مرة أخرى، سيتم تجاهل هذه الملفات من قائمة التنزيل! مهمتك هي حذفها يدويًا قبل البدء التالي. لهذا السبب أضفنا خيارًا يسمى --resume
والذي يواصل تنزيلاتك من حيث توقفت:
cs-dlp --cauth-auto chrome --resume sdn1-001
يمكن استخدام هذا الخيار أيضًا مع برامج التنزيل الخارجية:
cs-dlp --cauth-auto chrome --wget --resume sdn1-001
ملاحظة 1 : تستخدم بعض برامج التنزيل الخارجية ميزة السيرة الذاتية المضمنة الخاصة بها والتي قد لا تكون متوافقة مع الآخرين، لذا استخدمها على مسؤوليتك الخاصة.
ملاحظة 2 : تذكر أنه في وضع الاستئناف، لن يتم حذف الملفات التي تمت مقاطعتها من القرص لديك.
إذا كانت لديك مشكلات عند تنزيل المواد الدراسية، فيرجى محاولة معرفة ما إذا كان أحد الإجراءات التالية سيحل مشكلتك:
تأكد من أن اسم الفصل الذي تستخدمه يتوافق مع اسم المورد المستخدم في عنوان URL لهذا الفصل: https://www.coursera.org/learn/
هل حاولت تنظيف ملفات تعريف الارتباط/بيانات الاعتماد المخزنة مؤقتًا باستخدام خيار --clear-cache
؟
لاحظ أن العديد من الدورات (معظمها، ربما؟) قد تزيل المواد بعد فترة قصيرة من اكتمال الدورة، في حين أن الدورات الأخرى قد تحتفظ بالمواد حتى الجلسة التالية/العرض التالي لنفس الدورة (لتجنب مشاكل خيانة الأمانة الأكاديمية، فيما يبدو).
باختصار، ليس من المضمون أنك ستتمكن من التنزيل بعد انتهاء الدورة، وهذا للأسف ليس شيئًا يمكننا مساعدتك فيه.
يمكن تصدير ملف تعريف الارتباط على غرار Netscape بامتداد المتصفح ([1] [9]، [2] [10]) واستخدامه مع الخيار -c
. يكون هذا مفيدًا عندما لا تعمل المصادقة عبر كلمة المرور (تتغير عملية المصادقة بين الحين والآخر).
بالنسبة للدورات التدريبية التي لم تبدأ بعد، ولكن كان لها تكرار سابق، تتوفر أحيانًا معاينة، تحتوي على جميع الفصول الدراسية من الدورة التدريبية الأخيرة. يمكن تنزيل هذه الملفات عن طريق تمرير المعلمة --preview
.
إذا تلقيت خطأ مثل Could not find class:
، فحينئذٍ:
التأكد من صحة اسم الدورة. تتكون أسماء الفصول الحالية في كورسيرا من اسم دورة قصيرة، على سبيل المثال class
والإصدار الحالي للدورة (رقم). على سبيل المثال، بالنسبة لفئة تسمى class
، يجب عليك استخدام class-001
و class-002
وما إلى ذلك.
ثانيا تأكد من تسجيلك في الدورة لن تتمكن من الوصول إلى مواد الدورة إذا لم تكن مسجلاً رسميًا ووافقت على دورة الشرف عبر الموقع الإلكتروني .
إذا كنت من الصين وتواجه مشكلات في تنزيل مقاطع الفيديو، فقد تعمل إضافة "52.84.167.78 d3c33hcgiwev3.cloudfront.net" في ملف المضيفين (/etc/hosts) وتحديث DNS باستخدام "ipconfig/flushdns" (راجع https: //github.com/googlehosts/hosts لمزيد من المعلومات).
أولاً، تأكد من تسجيلك في الدورة التدريبية التي تريد تنزيلها.
لقد أغلقت العديد من الدورات التدريبية القديمة باب التسجيل بالفعل، لذلك لا يعد ذلك خيارًا في كثير من الأحيان. في هذه الحالة، حاول التنزيل باستخدام خيار --preview
. تسمح بعض الدورات بتنزيل مواد المحاضرات دون التسجيل، لكن هذا ليس شائعًا ولا يضمن نجاحه في كل دورة.
وأخيرًا، يمكنك تنزيل مقاطع الفيديو إذا كان لديك، على الأقل، ملف الفهرس الذي يسرد جميع مواد الدورة التدريبية. ربما يستطيع صديقك المسجل حفظ صفحة الدورة التدريبية هذه لك. في هذه الحالة استخدم خيار --process_local_page
.
وبدلاً من ذلك، قد ترغب في تجربة ملحقات المتصفح المتنوعة هذه المصممة لهذه المشكلة.
إذا لم ينجح أي مما سبق بالنسبة لك، فلا يمكننا فعل أي شيء.
يدعم cs-dlp برامج التنزيل الخارجية ولكن لاحظ أنها تُستخدم فقط لتنزيل المواد بعد تحليل المنهج الدراسي، مثل مقاطع الفيديو وملفات PDF وبعض النشرات والملفات الإضافية (يتم تنزيل المنهج الدراسي دائمًا باستخدام برنامج التنزيل الداخلي). إذا واجهت مشاكل في تنزيل مثل هذه المواد، فقد ترغب في البدء في استخدام برنامج التنزيل الخارجي وتكوين قيم المهلة الخاصة به. على سبيل المثال، يمكنك استخدام برنامج تنزيل aria2c عن طريق تمرير خيار --aria
:
cs-dlp --cauth-auto chrome --path . --aria2
ووضع هذا في ملف تكوين aria2c ~/.aria2/aria2.conf
لتقليل المهلات:
connect-timeout=2 timeout=2 bt-stop-timeout=1
تكوين المهلة لبرنامج التنزيل الداخلي غير مدعوم.
إذا كنت تستخدم نظام التشغيل Windows خلف وكيل، فقم بإعداد متغيرات البيئة قبل تشغيل البرنامج النصي كما يلي:
set HTTP_PROXY=http://host:port set HTTPS_PROXY=http://host:port
مناقشة ذات صلة: #205
MathJax.js
عند حفظ صفحة الدورة التدريبية، قمنا بتمكين عرض MathJax
للمعادلات الرياضية، عن طريق إدخال MathJax.js
في الرأس. يستخدم البرنامج النصي خدمة CDN المقدمة من mathjax.org. ومع ذلك، لا يمكن الوصول إلى عنوان url هذا في بعض البلدان/المناطق، فيمكنك توفير معلمة --mathjax-cdn
لتحديد ملف MathJax.js
الذي يمكن الوصول إليه في منطقتك.
قبل الإبلاغ عن أي مشكلة، يرجى اتباع الخطوات التالية:
تأكد من أنك تقوم بتشغيل أحدث إصدار من البرنامج النصي
إذا استمرت المشكلة، فلا تتردد في فتح مشكلة في أداة تعقب الأخطاء لدينا، يرجى ملء نموذج المشكلة بأكبر قدر ممكن من المعلومات .