GDrive VideoLoader is a Python-based tool to download videos from Google Drive effortlessly, including those marked as view-only (no download option). It supports resumable downloads, progress bars, and various customization options for video fetching and downloading.
- Download videos even if marked as view-only (without a download button)
- Supports resumable downloads (continue from where it stopped)
- Displays a progress bar for ongoing downloads
- Allows custom chunk sizes for downloading
- Optionally specify a custom output file name
- Verbose mode for detailed logs during execution
- Python 3.7+
- Pip (Python package manager)
Install the required Python packages using the following command:
pip install -r requirements.txtTo download a video, you can provide either the Google Drive file ID or a full Google Drive URL:
Using a file ID:
python gdrive_videoloader.py <video_id>Using a full Google Drive URL:
python gdrive_videoloader.py https://drive.google.com/file/d/<video_id>/viewThe script will automatically extract the file ID from the URL if you provide a full link.
| Parameter | Description | Default Value |
|---|---|---|
<video_id> |
The video ID from Google Drive or a full Google Drive URL (required). The script automatically extracts the ID from URLs like https://drive.google.com/file/d/ID/view. |
N/A |
-o, --output |
Custom output file name for the downloaded video. | Video name in GDrive |
-c, --chunk_size |
Chunk size (in bytes) for downloading the video. | 1024 bytes |
-v, --verbose |
Enable verbose mode for detailed logs. | Disabled |
--version |
Display the script version. | N/A |
-h, --help |
Display the help message. | N/A |
- Add support for downloading subtitles.
- Add support for multiple downloads (list or file of video IDs).
- Allow selection of video quality.
- Implement temporary file naming during download.
- Safely handle interruptions (KeyboardInterrupt).
- Display custom error messages based on request responses.
- Implement parallel downloads to speed up the process.
- Modularize the project into separate files (
downloader.py,cli.py,utils.py). - Add logging support using the
loggingmodule. - Validate output file names for compatibility with the operating system.
- Create automated tests for core functions.
- Add detailed documentation using
pdocorSphinx.
Contributions are always welcome! If you have suggestions for improving the script or adding new features, feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.