Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎥 دانلودر ویدیو آپارات - Aparat Video Downloader

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

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

🔍 ضبط هوشمند درخواست‌های شبکه

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

🤖 حالت خودکار - بدون مداخله!

  • استفاده از پرچم --auto برای دانلود کاملاً خودکار
  • تشخیص هوشمند ویدیوهای آپارات با پشتیبانی از انواع پسوندها (.ts, .apt, .mp4, و غیره)
  • انتقال خودکار به مرحله دانلود بدون نیاز به انتخاب دستی

🎛️ انتخاب تعاملی با رابط کاربری زیبا

  • منوی تعاملی با کنترل‌های کلیدی برای انتخاب دقیق
  • نمایش لیست کامل درخواست‌های شبکه با قابلیت پیمایش
  • انتخاب آسان با استفاده از کلیدهای جهت‌دار و Enter

🎯 تشخیص خودکار کیفیت‌ها

  • بررسی کامل تمام کیفیت‌های موجود (240p, 360p, 480p, 720p, 1080p)
  • تست خودکار هر کیفیت با درخواست اولین قطعه
  • نمایش فقط کیفیت‌های در دسترس در یک رابط کاربری زیبا

⚡ دانلود سریع و بهینه

  • دانلود همزمان قطعات ویدیو
  • ادامه خودکار دانلود تا پایان ویدیو (تا دریافت پاسخ 404)
  • نام‌گذاری خودکار قطعات برای سهولت در مدیریت

🎬 ترکیب حرفه‌ای قطعات

  • استفاده از ffmpeg برای ترکیب حرفه‌ای قطعات
  • ایجاد فایل‌های MP4 با کیفیت بالا و اندازه بهینه
  • حفظ کیفیت اصلی ویدیو در فایل نهایی

📋 نیازمندی‌ها

  • Python 3.6+ - محیط اجرای اصلی
  • Chrome/Chromium browser - برای ضبط شبکه
  • ChromeDriver - درایور مرورگر برای Selenium
  • ffmpeg - برای ترکیب قطعات ویدیو
  • بسته‌های Python:
    • selenium - برای کنترل مرورگر
    • requests - برای درخواست‌های HTTP

🛠️ نصب و راه‌اندازی

1. نصب ChromeDriver:

# Ubuntu/Debian
sudo apt-get install chromium-chromedriver

# یا دانلود از: https://chromedriver.chromium.org/

2. نصب ffmpeg:

# Ubuntu/Debian
sudo apt-get install ffmpeg

# macOS
brew install ffmpeg

3. نصب وابستگی‌های Python:

pip install selenium requests

🚀 نحوه استفاده

استفاده عادی

اجرای اسکریپت اصلی:

python main.py

حالت خودکار - بهترین تجربه!

برای تجربه دانلود کاملاً خودکار:

python main.py --auto https://www.aparat.com/v/VIDEO_ID

گزینه 1: ضبط درخواست‌های شبکه

  1. آدرس ویدیوی آپارات را وارد کنید
  2. ابزار صفحه را بارگذاری و تمام درخواست‌ها را ضبط می‌کند
  3. از کلیدهای جهت‌دار برای حرکت بین درخواست‌ها استفاده کنید
  4. درخواست مورد نظر را با Enter انتخاب کنید
  5. انتقال خودکار به مرحله دانلود

گزینه 2: دانلود و ترکیب قطعات

  1. آدرس قطعه اول ویدیو را ارائه دهید
  2. ابزار:
    • تمام کیفیت‌های موجود را بررسی می‌کند
    • فقط کیفیت‌های در دسترس را نمایش می‌دهد
    • کیفیت دلخواه را انتخاب کنید
    • قطعات را از شماره 1 شروع به دانلود می‌کند
    • تا پایان ویدیو ادامه می‌دهد
    • تمام قطعات را در یک پوشه جداگانه ذخیره می‌کند
    • قطعات را در یک فایل MP4 ترکیب می‌کند

🔬 نحوه کار - علم پشت پرده

ضبط شبکه پیشرفته

ابزار از قدرت Selenium استفاده می‌کند تا:

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

الگوی تشخیص هوشمند

سیستم تشخیص خودکار از الگوی پیشرفته زیر استفاده می‌کند:

https://.*aparat\.com/.*/s-\d+-v\d+-a\d+\.\w+.*

این الگو با انواع پسوندهای فایل سازگار است:

  • .ts (Transport Stream - استاندارد صنعتی)
  • .apt (پسوند اختصاصی آپارات)
  • .mp4 (فرمت MPEG-4)
  • و سایر پسوندها

انتخاب کیفیت هوشمند

روند انتخاب کیفیت:

  1. آدرس را تجزیه کرده و شناسه کیفیت را پیدا می‌کند
  2. به‌صورت خودکار کیفیت‌های مختلف را تست می‌کند
  3. فقط کیفیت‌های موجود (با کد 200) را نمایش می‌دهد
  4. انتخاب کاربر را دریافت و پردازش می‌کند

دانلود و ترکیب حرفه‌ای

برای دانلود و ترکیب:

  1. الگوی قطعات را شناسایی می‌کند (s-{شماره}-v1-a1.پسوند)
  2. شماره قطعات را به‌صورت ترتیبی افزایش می‌دهد
  3. دانلود را تا دریافت پاسخ 404 ادامه می‌دهد
  4. از ffmpeg برای ترکیب حرفه‌ای استفاده می‌کند

💡 نکات کاربردی

🎯 نمونه آدرس‌های قطعات

آدرس‌های قطعات آپارات می‌توانند قالب‌های مختلفی داشته باشند:

https://hajifirouz34.asset.aparat.com/aparat-video/ABCDE-1080p.mp4/s-21-v1-a1.ts?wmsAuthSign=...
https://persian12.asset.aparat.com/aparat-video/FGHIJ-1080p.mp4/s-22-v1-a1.apt?wmsAuthSign=...
https://caspian13.asset.aparat.com/aparat-video/KLMNO-720p.apt/s-5-v1-a1.mp4?token=...

📁 ساختار پوشه خروجی

دانلودها در پوشه‌هایی با این ساختار ذخیره می‌شوند:

downloaded_segments_1080p/
├── segment_0001.ts
├── segment_0002.ts
├── segment_0003.ts
└── ...

🎬 فایل نهایی

فایل ترکیب شده با نام انتخابی شما در قالب MP4 ایجاد می‌شود.

🆘 رفع مشکلات رایج

مشکل در نصب ChromeDriver

در صورت بروز خطا:

  1. نسخه Chrome/Chromium خود را بررسی کنید
  2. نسخه مناسب ChromeDriver را دانلود کنید
  3. مسیر ChromeDriver را به PATH سیستم اضافه کنید

مشکل در دانلود قطعات

در صورت قطع ناقص دانلود:

  1. اسکریپت را مجدد اجرا کنید
  2. سیستم از آخرین قطعه دانلود شده ادامه می‌دهد
  3. اطمینان حاصل کنید اتصال اینترنت پایدار است

مشکل در ترکیب قطعات

در صورت عدم وجود ffmpeg:

  1. نصب مجدد ffmpeg را بررسی کنید
  2. مسیر ffmpeg را در PATH سیستم اضافه کنید
  3. اطمینان حاصل کنید ffmpeg به درستی نصب شده است

📞 پشتیبانی و مشارکت

این پروژه متن‌باز است و هرگونه مشارکت شما را استقبال می‌کنیم!

  • مشکلات و پیشنهادات خود را در بخش Issues مطرح کنید
  • به بهبود کد و مستندات کمک کنید
  • این ابزار را با دیگران به اشتراک بگذارید

🎥 Aparat Video Downloader

Aparat Video Downloader is a user-friendly tool that allows you to download Aparat videos in the highest available quality. This tool uses advanced network capture technology to retrieve your videos directly from Aparat's servers.

🌟 Key Features

🔍 Smart Network Request Capture

  • Uses Selenium in headless mode to fully load pages
  • Captures all network requests, including those generated by JavaScript
  • Automatically identifies video segment URLs with advanced patterns

🤖 Automatic Mode - No Intervention Required!

  • Use the --auto flag for completely automatic downloading
  • Smart detection of Aparat videos with support for various extensions (.ts, .apt, .mp4, etc.)
  • Automatic transfer to download phase without manual selection

🎛️ Interactive Selection with Beautiful UI

  • Interactive menu with keyboard controls for precise selection
  • Full list of network requests with navigation capabilities
  • Easy selection using arrow keys and Enter

🎯 Automatic Quality Detection

  • Comprehensive check of all available qualities (240p, 360p, 480p, 720p, 1080p)
  • Automatic testing of each quality by requesting the first segment
  • Display only available qualities in a beautiful user interface

⚡ Fast and Optimized Download

  • Parallel download of video segments
  • Automatic continuation until video completion (until 404 response)
  • Automatic naming of segments for easy management

🎬 Professional Segment Merging

  • Uses ffmpeg for professional segment merging
  • Creates high-quality MP4 files with optimized size
  • Preserves original video quality in the final file

📋 Requirements

  • Python 3.6+ - Main execution environment
  • Chrome/Chromium browser - For network capture
  • ChromeDriver - Browser driver for Selenium
  • ffmpeg - For merging video segments
  • Python packages:
    • selenium - For browser control
    • requests - For HTTP requests

🛠️ Installation & Setup

1. Install ChromeDriver:

# Ubuntu/Debian
sudo apt-get install chromium-chromedriver

# Or download from: https://chromedriver.chromium.org/

2. Install ffmpeg:

# Ubuntu/Debian
sudo apt-get install ffmpeg

# macOS
brew install ffmpeg

3. Install Python dependencies:

pip install selenium requests

🚀 Usage

Normal Usage

Run the main script:

python main.py

Automatic Mode - Best Experience!

For a completely automatic download experience:

python main.py --auto https://www.aparat.com/v/VIDEO_ID

Option 1: Network Request Capture

  1. Enter the Aparat video URL
  2. Tool loads the page and captures all requests
  3. Use arrow keys to navigate through requests
  4. Select desired request with Enter
  5. Automatic transfer to download phase

Option 2: Segment Download and Merge

  1. Provide the first video segment URL
  2. Tool:
    • Checks all available qualities
    • Displays only available qualities
    • Let you choose your preferred quality
    • Downloads segments starting from number 1
    • Continues until video end
    • Saves all segments in a separate folder
    • Merges segments into an MP4 file

🔬 How It Works - The Science Behind

Advanced Network Capture

Tool uses the power of Selenium to:

  • Load Aparat pages exactly like a real user
  • Capture all network requests, including JavaScript-generated ones
  • Identify videos in the highest available quality

Smart Detection Pattern

Automatic detection system uses this advanced pattern:

https://.*aparat\.com/.*/s-\d+-v\d+-a\d+\.\w+.*

This pattern is compatible with various file extensions:

  • .ts (Transport Stream - industry standard)
  • .apt (Aparat's proprietary extension)
  • .mp4 (MPEG-4 format)
  • And other extensions

Smart Quality Selection

Quality selection process:

  1. Parses URL to find quality identifier
  2. Automatically tests different qualities
  3. Shows only available qualities (with 200 code)
  4. Receives and processes user selection

Professional Download and Merge

For downloading and merging:

  1. Identifies segment pattern (s-{number}-v1-a1.extension)
  2. Incrementally increases segment numbers
  3. Continues download until 404 response
  4. Uses ffmpeg for professional merging

💡 Useful Tips

🎯 Sample Segment URLs

Aparat segment URLs can have various formats:

https://hajifirouz34.asset.aparat.com/aparat-video/ABCDE-1080p.mp4/s-21-v1-a1.ts?wmsAuthSign=...
https://persian12.asset.aparat.com/aparat-video/FGHIJ-1080p.mp4/s-22-v1-a1.apt?wmsAuthSign=...
https://caspian13.asset.aparat.com/aparat-video/KLMNO-720p.apt/s-5-v1-a1.mp4?token=...

📁 Output Folder Structure

Downloads are saved in folders with this structure:

downloaded_segments_1080p/
├── segment_0001.ts
├── segment_0002.ts
├── segment_0003.ts
└── ...

🎬 Final File

The merged file is created as an MP4 with your chosen name.

🆘 Common Troubleshooting

ChromeDriver Installation Issues

If you encounter errors:

  1. Check your Chrome/Chromium version
  2. Download the appropriate ChromeDriver version
  3. Add ChromeDriver path to system PATH

Segment Download Issues

If download is incomplete:

  1. Re-run the script
  2. System continues from the last downloaded segment
  3. Ensure stable internet connection

Segment Merging Issues

If ffmpeg is missing:

  1. Check ffmpeg reinstallation
  2. Add ffmpeg path to system PATH
  3. Ensure ffmpeg is properly installed

📞 Support and Contribution

This is an open-source project and we welcome any contribution from you!

  • Submit issues and suggestions in the Issues section
  • Help improve code and documentation
  • Share this tool with others

About

ی راه واسه دانلود از آپارات پیدا کردم XD

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages