استخراج لینک‌ها و زیرنویس‌های دوره‌های آموزشی سایت Microsoft Virtual Academy با یک اسکریپت پایتون

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 3 دقیقه

Microsoft Virtual Academy

اگر تا به حال به دنبال محتوای آموزشی حرفه‌ای و البته رایگان در اینترنت بوده باشید حتماً با Microsoft Virtual Academy آشنایی دارید، در این وب‌سایت، مایکروسافت دوره‌های آموزشی بسیار عالی تهیه کرده که اگر بخواهیم معادل همین دوره‌ها رو در موسسات آموزشی ایرانی بگذرونیم n صدهزار یا n میلیون تومان هزینه کنیم. به لطف مایکروسافت تمامی این دوره‌ها بصورت رایگان ارائه شده؛ اما دانلود کردن تک به تک درس‌ها برای ما ایرانی‌ها که اینترنت مناسبی نداریم کمی تا قسمتی آزار دهنده است.

اخیراً من اسکریپتی با Python 3 نوشتم که با گرفتن URL درس Microsoft Virtual Academy لینک‌های دانلود فیلم‌های آموزشی رو به تفکیک کیفیت استخراج و اگر کاربر تمایل داشته باشد حتی زیرنویس‌ها را نیز استخراج و دریافت کند. این نکته لازم به ذکر هست که زیرنویس‌های مذکور را به راحتی می‌توان به پسوندهای رایج مانند srt تبدیل کرد.

اگر مایل به استفاده از این اسکریپت کاربردی هستید حتماً ادامه مطلب رو مطالعه کنید.

نیازمندی‌ها


همانطور که قبلاً اشاره شد، این اسکریپت با Python 3.x نوشته شده است، پس برای اجرا نیاز است که Python 3 برروی کامپیوتر شما نصب باشد.


استفاده از اسکریپت


هر درس در MVA دارای یک URL بخصوص است.

Building Blocks: Game Development

در اینجا من URL درس Building Blocks: Game Development رو جهت تست اکسریپت انتخاب کردم:

https://mva.microsoft.com/en-US/training-courses/building-blocks-game-development-16063?l=OOAAoLZDC_9606218949

برای استفاده از اسکریپت کافیست که Command Prompt ویندوز رو در پوشه‌ای که فایل MVA.py قرار گرفته باز کنیم.

CMD in MVA.py

اسکریپت و به شکل زیر داخل Command Prompt باز می‌کنیم:

python MVA.py

بعد از اجرا کردن؛ اسکریپت ابتدا URL درس مورد نظر در Microsoft Virtual Academy را خواهد پرسید. مانند شکل زیر آدرس رو وارد و کلید Enter را میزنیم.

CMD in MVA.py

در صورتی که لینک درس درست باشد؛ مانند خروجی زیر ابتدا نام درس چاپ میشود، همچنین اگر درس دارای زیر نویسباشد پیامی مبنی بر اینکه زیرنویس ها دانلود شود از شما پرسیده خواهد شد.

Getting course details, pelase wait...
Course 42149: Building Blocks: Game Development

Getting table of contents, video links and subtitles, please wait ...

Would you like to download subttiles? (y/n)

با وارد کردن y اسکریپت زیرنویس‌ها را نیز دانلود میکند و بعد از چند لحظه ( بسته به سرعت اینترنت ) کار اجرای اسکریپت تمام میشود و چنین خروجی نمایش خواهد داد.

Would you like to download subttiles? (y/n)y
Downloading subtitles, please wait ...

Exporting video links, please wait ...

Files saved in "E:\Virtual Academy Courses\Course 42149  Building Blocks  Game Development"

در کنار فایل MVA.py پوشه ای به نام درس مورد نظر ساخته میشود.

Project folder

در داخل پوشه به ازای کیفیت های موجود یک فایل txt تولید خواهد شد که داخل آن لیست درس ها با URL دانلود فایل وجود خواهد داشت.

Project folder

مثلاً برای کیفیت 360p

Project folder


نحوه کانورت زیرنویس‌های Microsoft Virtual Academy


زیرنویس‌های سایت MVA از نوع Timed Text Markup Language با پسوند ttml می‌باشند. برای کانورت آنها به srt می‌توان از نرم افزار قدرتمند Subtitle Edit استفاده کرد. کافیه فایل ttml مورد نظر رو با برنامه باز کنید و با پسوند srt یا هر پسوند دیگه ذخیره کنید.

Subtitle Edit


نمونه فایل ویدئویی همراه با زیرنویس کانورت شده

Video with Subtitle


سورس اسکریپت


من برای این اسکریپت یک gist برروی github.com ایجاد کردم و سعی میکنم در طول زمان تغییرات سایت MVA و برای این اسکریپت اعمال کنم.

من مشخصاً یک برنامه‌نویس حرفه‌ای پایتون نیستم؛ پس اگه چیزی به نظرتون اشتباه رسید حتماً بهم بگید که اصلاح کنم.

دیدگاه‌ها