Skip to main content

Command Palette

Search for a command to run...

اسکریپتی برای کاهش هزینهٔ شرکت در کلاس‌های دانشگاه Coursera

Published
2 min read

زیاده‌گویی بس است‌. خیلی وقت پیش هم در کلاس‌های این سایت شرکت کرده بودم‌، ولی ادامه ندادم‌. چرا؟ حقیقتش مجموعهٔ دانلودی‌اش عالی است‌. فیلم آموزشی‌، زیرنویسش‌، اسلاید و …. اما خودتان که می‌دانید زندگی سایبری (‌حالم از این کلمهٔ آخر به هم می‌خورد‌، جایگزین بهتری نمی‌شناسید؟) در ایران‌، خصوصا با این کیفیت عالی (!) چه هزینهٔ گزافی دارد‌. این شد که دیروز وقتی دوباره لیست این کلاس‌ها‌، وسوسه به مطالعه‌شان را در من تقویت کرد‌، تصمیم به دانلودشان به صورت شبانه گرفتم‌. اما مشکل این‌جاست که باید شب را تا صبح پای کامپیوتر بگذرانم و تک به تک دانلودشان کنم‌، چرا که‌، پروسهٔ دانلود سایت کمی قرتی تشریف دارد و کوکی می‌خواهد‌. قصد داشتم برای چالش هم که شده یک اسکریپت برای این کار بنویسم‌.

اما خوشبختانه بعد از اولین جستجو به کامل‌ترین نسخهٔ ممکن برای این کار رسیدم‌. [اسکریپتی که](https://github.com/jplehmann/coursera "coursera doenloader on github") دیروز کار نمی‌کرد‌، و باعث شده بود تصمیم بگیرم تعمیرش کنم‌، ولی باز توسعه دهندهٔ خوش‌فکرش به کارش انداخت و الان مثل چـــی کار می‌کند ;-)

مزیتش نسبت به تمام روش‌های دانلود دیگر این است که فقط کافیست نام کلاس را بهش بگویید و خودش همه چیز‌های مربوطه را برایتان دانلود کرده‌، نام درست را برای‌شان بگذارد و در پوشه‌های جدا دسته بندی می‌کند‌. (هلو …؟)

اول با توجه به توزیع زیر دستتان‌، بستهٔ setuptools از خانوادهٔ پایتون را نصب کنید‌، و باقی کار را مثل زیر انجام دهید:

easy_install BeautifulSoup

easy_install argparse

git clone https://github.com/jplehmann/coursera.git

cd coursera

و حالا با چنین نحوی می‌توانید دانلود را انجام دهید:

./coursera CLASS_NAME -u USER_NAME -p PASSWORD

برای به دست آوردن CLASS_NAME صفحهٔ کلاس مربوطه را در سایت باز کنید‌. مثلا برای Algorithms 1 همچین چیزی است:

https://class.coursera.org/algs4partI-2012-001/lecture/index

آن بند algs4partI-2012-001 می‌شود نام کلاس‌ الگوریتم‌ها‌. جایش در باقی کلاس‌ها یکسان و معلوم است ;-)

پی‌نوشت: در آیندهٔ نزدیک یک روش گاز‌انبری و خیلی دم دستی را یادتان می‌دهم که می‌تواند این کوکی‌های کذایی را دور بزند.

More from this blog

معجون بهشتی Selenium, PhantomJS و Requests برای web scraping

این روز‌ها خودکار کردن کار‌های تکراری روزمره‌مان یک جورهایی برگ برندهٔ کاربران، توسعه‌دهندگان و یا حتی تیم‌های فعال در حوزهٔ نرم‌افزار محسوب می‌شود. از پتانسیل بالای درآمد‌زایی‌اش در بعضی شرایط اگر بگذریم‌، کاهش زمان مورد نیاز انجام کار‌ها به میزان ز...

Oct 15, 20168 min read

ورژن کنترل اختیاری نیست!

حقیقتش انتظار داشتم این موضوع خیلی وقت پیش حل شده باشد. حتی پیش خودم فکر می‌کردم که ورژن کنترل یک جورهایی جزء غرایض جامعه‌ی نرم‌افزاری است‌، آن هم با درجه‌ی اهمیتی مثل نفس کشیدن. دوستی دارم که حدوداً دو سال پیش روی دیوار فیس‌بوک‌اش از پاک شدن اتفاقی ...

Dec 27, 20154 min read

خوبی‌های جاوا اسکریپت؟

خیلی وقت است ننوشته‌ام و حقیقتش همین الان هم زیاد مثل گذشته حس نوشتن ندارم. موضوع این است که از طرفی چند نفر از شما دوستان در ایمیل‌هایی از من خواستید که باز بنویسم (راستش اصلا فکر نمی‌کردم کسی آن بیرون به فکر چرایی آپدیت نشدن این وبلاگ باشد.) که ازش...

Jul 8, 20153 min read

کدنویسی بازی جاوااسکریپت به صورت زنده توسط Mary Rose

نمی‌دونم چقدر با جاوااسکریپت آشنایی دارین، ولی جدا زبان فوق‌العاده‌ایه. خصوصا این که پلتفرم جذابی داره‌، اصلا نیاز نیست چیزی کامپایل شه یا برنامه خاصی نصب شه‌، یه مرورگر و تموم، دیگه شمایید و خلاقیتتون. گاها آدم یه چیزایی می‌بینه که بدجوری سر شوق می‌...

Oct 8, 20141 min read

برنامه نویسی کرنل لینوکس با راهنمایی The Eudyptula Challenge

عموما کسانی که از گنو/لینوکس به عنوان سیستم‌عامل اصلی‌شان استفاده می‌کنند‌، همه‌اش به خاطر چه می‌دانم‌، فرهنگ آزاد یا روش‌های گیکانه انجام کار‌هایشان نیست. حتی برای باحال‌تر به نظر رسیدن هم نیست. حقیقت این است که ما‌، علاقه به درک بیشتر ابزار‌هایمان ...

Oct 1, 20143 min read

وبلاگ شاهین

221 posts

اسکریپتی برای کاهش هزینهٔ شرکت در کلاس‌های دانشگاه Coursera