DirectoryDownloader is a Python-based utility tool that automates downloading of files from web-accessible directories (like https://example.com/folder/
). It parses HTML directory listings, detects downloadable files, and saves them in a structured local folder — all with parallel downloads for high performance.
- 🔗 Accepts any URL that points to a file listing (Apache/nginx-style indexes)
- 📁 Automatically creates local folder based on the URL path
- 📂 User-defined top-level output folder
- ⏱️ Parallel downloading using Python threads (boosts speed) ( To be implemented soon )
- 🔄 Skips invalid or non-file links
- 📜 Beautiful terminal interface with ASCII art
- ✅ Simple, fast, and reliable
- 🧾 Generates a log file of all downloads
- User enters a web URL like: https://example.com/files/movies/
- Tool parses the page, finds all downloadable links (e.g.
.mp4
,.zip
) - Asks user for a custom folder name like:
MyMovies
- Downloads all files from that URL to: ~/Downloads/DirDownloader/MyMovies/movies/
- Confirmation shown upon success.
- Python 3.x
urllib
for downloadingBeautifulSoup
for HTML parsingThreadPoolExecutor
for concurrencylogging
for download logs
$ python3 DirDownld.py
Enter the link to download from: https://example.com/assets/
Enter a folder name to save into (e.g. MyProject): SiteAssets
Downloading into folder: /home/user/Downloads/DirDownloader/SiteAssets/assets/
Found 18 links in https://example.com/assets/
Downloaded image1.png to /assets/image1.png
...
Download complete. Download again? (y/n): n
- Backing up open web file directories
- Downloading training datasets
- Offline storage of video/audio folders
- Educational resource mirroring
All download activity is saved to: ~/Downloads/DirDownloader/download_log.txt
DirectoryDownloader is developed and maintained by Hrisikesh (VirusZzWarning) — @hrisikesh_pal on Twitter.
This project is licensed under the GNU General Public License v3.0.
See the LICENSE file for full license details.