A compact yet powerful Python script for downloading albums from erome.com, including videos, images, and gifs.
- Download a single album or batch-download many albums from a URL list
- Concurrent downloads with a configurable connection limit
- Automatic retries with exponential backoff
- Resumes intelligently by skipping files that are already fully downloaded
- Optional filters to skip videos or images
- Live progress bars per file and per album
- Python 3.10 or newer
Clone the repository and move into it:
git clone https://github.com/M4p4/EromeDownloader.git
cd EromeDownloaderCreate and activate a virtual environment so the dependencies stay isolated from your system Python.
macOS / Linux
python3 -m venv .venv
source .venv/bin/activateWindows (PowerShell)
python -m venv .venv
.\.venv\Scripts\Activate.ps1Then install the dependencies:
pip install -r requirements.txtWhen you are done, deactivate the virtual environment with deactivate.
You can install the project so it exposes an eromedump command, letting you
run it from anywhere without typing python dump.py:
pip install -e .After this, both invocation styles work identically:
eromedump -u https://www.erome.com/a/xxxxxxxx
python dump.py -u https://www.erome.com/a/xxxxxxxxThe eromedump command is available while the virtual environment it was
installed into is active.
Download a single album:
python dump.py -u https://www.erome.com/a/xxxxxxxxDownload many albums in one run by passing a text file of URLs:
python dump.py -f albums.txtThe file must contain one album URL per line. Blank lines and lines starting
with # are ignored, so you can comment your batch lists:
# Favorites
https://www.erome.com/a/aaaaaaaa
https://www.erome.com/a/bbbbbbbb
# To re-download later
https://www.erome.com/a/cccccccc
Albums are downloaded sequentially; the -c/--connections option controls
per-album parallelism. If one album fails, the batch continues with the next
URL.
| Flag | Description | Default |
|---|---|---|
-u, --url |
URL of a single album to download. One of -u or -f is required. |
— |
-f, --file |
Path to a text file with one album URL per line. One of -u or -f is required. |
— |
-c, --connections |
Maximum number of simultaneous connections used while downloading an album. | 5 |
-sv, --skip-videos |
Skip downloading videos. | off |
-si, --skip-images |
Skip downloading images. | off |
-r, --retries |
Number of retry attempts per file on failure. | 3 |
Download an album using 10 connections:
python dump.py -u https://www.erome.com/a/xxxxxxxx -c 10Download a batch and skip all videos:
python dump.py -f albums.txt -svIncrease the retry count for flaky connections:
python dump.py -u https://www.erome.com/a/xxxxxxxx -r 5Files are saved under a downloads/ folder in the project directory. Each
album gets its own subfolder named after the album title, and all files from
that album are stored there.
downloads/
└── Album Title/
├── video.mp4
├── image1.jpg
└── image2.jpg
Install the development dependencies (which include the runtime ones) and run the suite with pytest:
pip install -r requirements-dev.txt
pytest