|Archiving status||Not saved yet|
|IRC channel||(on hackint)|
Currently there's few good solutions for backing up deviantarts, as the rest fail to build or fail to interact with the site, or just fail. Currently the best is “deviantart-gallery-downloader” by xofred.
In late 2021, during the NFT craze, there was fear that submissions from DeviantArt were being used to make NFTs, and that this would result in a user exodus.
This script will get full-sized images, whereas right-clicking hasn't in the past. It will also check to see if things have already been ripped, and rip any new changes to reduce traffic.
- gem (ruby-dev)
- A disposable dA account with adult images turned on (to make sure all images are gotten)
Getting the software and dependencies
sudo apt-get install git ruby-dev
sudo gem update
sudo gem install mechanize
To rip an entire main gallery with no organization of the images on an album basis, run:
ruby with_login.rb LOGIN-EMAIL PASSWORD "http://USERID.deviantart.com/gallery/?catpath=/"
That "/?catpath=/" on the end is important because it grabs all the images where as with the default gallery URL it does not.
For an album:
ruby with_login.rb LOGIN-EMAIL PASSWORD http://USERID.deviantart.com/ALBUM_NAME
No SSL auth, this could be done with a slight re-jiggering of code and a dependency on some ruby-SSL dep to offload that work.
User creds are in the process name being run. Use with caution on a multi-user system. A simple ps -A will reveal your creds.
- Use a burner account until this script is made a bit more secure*
User:TheTechRobo made a simple script to download a user's gallery URLs.
There's currently functions for scraping an individual post and a specific gallery, but that code is not yet exposed because it sucks.
It can also be used as a module. Documentation coming soon™
- Python 3
- Preferably, a DeviantArt account (only watermarked images are available to anonymous users)
this should preferably be a burner account
- A cookies.txt file for that account (if you don't want to log in, make it an empty file)
Usage instructions can be found at the repo.