Skip to content

javadSharifi/maktabkhooneh-downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

🚀 استخراج‌کننده لینک ویدیوهای آموزشی (Video Link Extractor)

Python License Stars

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


🤖 این اسکریپت دقیقاً چه کاری انجام می‌دهد؟

تصور کنید می‌خواهید تمام ویدیوهای یک دوره آموزشی ۵۰ قسمتی را دانلود کنید. فرآیند دستی به این شکل است:

  1. به صفحه قسمت اول می‌روید.
  2. روی ویدیو راست‌کلیک کرده و "Save video as" را می‌زنید.
  3. یک نام برای آن انتخاب می‌کنید و منتظر دانلود می‌مانید.
  4. این کار را ۴۹ بار دیگر تکرار می‌کنید! 😩

این اسکریپت این فرآیند خسته‌کننده را به صورت خودکار و در چند ثانیه انجام می‌دهد. اما چگونه؟

  1. قدم اول: شما نقشه را به ربات می‌دهید. شما آدرس URL صفحه اصلی دوره را به اسکریپت می‌دهید. این مانند دادن آدرس یک ساختمان به ربات است.

  2. قدم دوم: ربات کلید ورود را قرض می‌گیرد. 🔑 به جای اینکه از شما نام کاربری و رمز عبور بپرسد (که امن نیست)، اسکریپت به صورت هوشمند و امن، کوکی‌های لاگین را از مرورگر شما (کروم، فایرفاکس و...) می‌خواند. این کوکی‌ها مانند یک کارت ورود موقت هستند که به ربات اجازه می‌دهند به بخش‌های اعضای سایت دسترسی داشته باشد، بدون اینکه رمز شما را بداند.

  3. قدم سوم: ربات مانند یک کاربر فوق سریع عمل می‌کند. ⚙️ اسکریپت یک مرورگر نامرئی و خودکار (Playwright) را در پس‌زمینه باز می‌کند. به صفحه دوره رفته و در یک چشم به هم زدن، لینک تمام صفحات مربوط به هر قسمت از آموزش را پیدا و لیست می‌کند.

  4. قدم چهارم: ربات تمام اتاق‌ها را همزمان بررسی می‌کند! ⚡ اینجاست که جادو اتفاق می‌افتد. ربات به جای اینکه صفحات هر قسمت را یکی‌یکی باز کند، چندین صفحه را به صورت موازی و همزمان (Asyncio) باز می‌کند. در هر صفحه، مستقیماً به سراغ سورس اصلی ویدیو رفته و لینک مستقیم فایل mp4. را پیدا می‌کند.

  5. قدم پنجم: لیست نهایی آماده است. 📋 ربات تمام لینک‌های مستقیم ویدیو را که پیدا کرده، در یک فایل متنی ساده به نام video_links.txt جمع‌آوری و ذخیره می‌کند.

نتیجه نهایی: شما یک فایل متنی تمیز و مرتب دارید که می‌توانید محتوای آن را مستقیماً در نرم‌افزارهای مدیریت دانلود (مثل IDM, JDownloader و...) کپی کرده و تمام ویدیوها را به صورت یکجا و با حداکثر سرعت دانلود کنید.


✨ ویژگی‌های برجسته

  • ** رابط کاربری زیبا:** تجربه کاربری لذت‌بخش در ترمینال با rich و questionary.
  • ** ورود خودکار و هوشمند:** خواندن خودکار کوکی‌ها از مرورگرهای شما برای عبور از صفحه لاگین.
  • ** سرعت بالا:** پردازش موازی و غیرهمزمان (Asynchronous) قسمت‌ها برای حداکثر سرعت.
  • ** استفاده آسان:** فقط آدرس دوره را وارد کنید، بقیه کارها به صورت خودکار انجام می‌شود.
  • ** خروجی آماده:** ذخیره تمام لینک‌ها در فایل video_links.txt برای استفاده در نرم‌افزارهای مدیریت دانلود.

📦 نصب و راه‌اندازی

برای اجرای این پروژه، مراحل زیر را دنبال کنید:

  1. پروژه را کلون کنید:

    git clone https://github.com/javadSharifi/maktabkhooneh-downloader.git
     cd maktabkhooneh-downloader
  2. وابستگی‌ها را نصب کنید: تمام کتابخانه‌های مورد نیاز پروژه را با دستور زیر به صورت مستقیم نصب کنید:

    pip install -r requirements.txt

    نکته برای کاربران حرفه‌ای: توصیه می‌شود برای جلوگیری از تداخل پکیج‌ها، این وابستگی‌ها را در یک محیط مجازی (Virtual Environment) نصب کنید. اما برای استفاده سریع، نصب مستقیم نیز کافی است.

  3. نصب درایورهای Playwright (مرحله کلیدی): این دستور مرورگرهای مورد نیاز Playwright را دانلود و نصب می‌کند.

    playwright install

🕹️ راهنمای استفاده

  1. اسکریپت را اجرا کنید:

    python3 main.py

    (نام فایل اصلی را جایگزین main.py کنید.)

  2. آدرس URL دوره را وارد کنید. لینک قیمت ۱ یا یکی دیگر از قسمت ها رو وارد کنید. (⚠️⚠️لینک توضیحات دروه ارسال نکنید )

  3. مرورگر خود را انتخاب کنید: از منوی تعاملی، مرورگری که با آن وارد سایت دوره شده‌اید را با کلیدهای جهت‌نما انتخاب کنید.

    هشدار: قبل از اجرای این مرحله، حتماً مرورگر مورد نظر را کاملاً ببندید تا اسکریپت بتواند به فایل کوکی‌های آن دسترسی داشته باشد.

  4. منتظر بمانید و لذت ببرید! اسکریپت شروع به کار کرده و پیشرفت را به صورت زنده نمایش می‌دهد. پس از اتمام، فایل video_links.txt در پوشه پروژه شما ساخته خواهد شد.


🤝 مشارکت (Contributing)

از هرگونه مشارکت در این پروژه استقبال می‌شود. اگر پیشنهاد یا ایده‌ای برای بهبود آن دارید، لطفاً یک Issue باز کنید یا یک Pull Request ارسال نمایید.

📜 مجوز (License)

این پروژه تحت مجوز MIT منتشر شده است.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages