77ff644f892025f3b902e3681a01bfed584a9440
rule34vault-downloader
Python script to download public bookmarks from rule34vault.com for a username. No authorization is required for public bookmark pages.
Setup
python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
Usage
Download bookmarks for a user:
python r34vault_downloader.py <user> --out downloads
Download only a page range:
python r34vault_downloader.py <user> --start-page 1 --end-page 3 --out downloads
Process only the first N bookmark items, useful for testing:
python r34vault_downloader.py <user> --start-page 6 --end-page 6 --limit 1 --out downloads
Output
Files are grouped by Rule34Vault post prefix:
downloads/
1263/
1263322.jpg
996/
996379.mp4
download_order.txt
seen.txt
failed.txt
skipped.txt
download_order.txt records successful downloads in bookmark order:
000001 1263322 downloads/1263/1263322.jpg https://rule34vault.com/posts/1263/1263322/1263322.jpg
Behavior
- Uses browser-like headers and post-page
Refererheaders. - Uses streaming
GET; it does not rely onHEADrequests. - Parses bookmark data from
script#ng-stateand preserves bookmark order. - Tries original image URLs first, for example
1263322.jpg. - If a page image is only
1263303.small.jpg, it tries1263303.jpgbefore falling back to the small file. - For videos, parses real
<video>and<source src="...">elements from the post page. - Retries transient failures with exponential backoff.
- Uses plain text logs only; no SQLite database.
Tests
. .venv/bin/activate
pip install pytest
pytest -q
Languages
Python
100%