Skip to content

FurAffinity Downloader, now with 100% more Python

License

Notifications You must be signed in to change notification settings

Ovear/furaffinity-dl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This branch is the development version of furaffinity-dl rewritten in python.

FurAffinity Downloader

furaffinity-dl is a python script for batch downloading of galleries (and scraps/favourites) from furaffinity users users or your submissons! It was written for preservation of culture, to counter the people nuking their galleries every once a while. and then modified for confinience.

Supports all known submission types: images, text, flash and audio.

Requirements

python 3

pip3 install -r requirements.txt

The script currently only works with the "Modern" theme

furaffinity-dl has only been tested only on Linux, however it should also work on Mac, Windows or any other platform that supports python.

Usage

When downloading a folder make sure to put everything after /folder/, for example 123456/Folder-Name-Here instead of just 123456 (ref #60).

usage: furaffinity-dl.py [-h] [-sub] [-f FOLDER [FOLDER ...]] [-c COOKIES [COOKIES ...]] [-ua USER_AGENT [USER_AGENT ...]]
                         [--start START [START ...]] [--stop STOP [STOP ...]] [--redownload] [--interval INTERVAL [INTERVAL ...]] [--rating]
                         [--filter] [--metadata] [--download DOWNLOAD] [-jd] [--login] [--check] [--output]
                         [username] [category]

Downloads the entire gallery/scraps/folder/favorites of a furaffinity user, or your submissions notifications

positional arguments:
  username              username of the furaffinity user
  category              the category to download, gallery/scraps/favorites [default: gallery]

options:
  -h, --help            show this help message and exit
  -sub, --submissions   download your submissions
  -f FOLDER [FOLDER ...], --folder FOLDER [FOLDER ...]
                        full path of the furaffinity gallery folder. for instance 123456/Folder-Name-Here
  -c COOKIES [COOKIES ...], --cookies COOKIES [COOKIES ...]
                        path to a NetScape cookies file
  -ua USER_AGENT [USER_AGENT ...], --user-agent USER_AGENT [USER_AGENT ...]
                        Your browser's useragent, may be required, depending on your luck
  --start START [START ...], -s START [START ...]
                        page number to start from
  --stop STOP [STOP ...], -S STOP [STOP ...]
                        Page number to stop on. Specify the full URL after the username: for favorites pages (1234567890/next) or for submissions pages: (new~123456789@48)
  --redownload, -rd     Redownload files that have been downloaded already
  --interval INTERVAL [INTERVAL ...], -i INTERVAL [INTERVAL ...]
                        delay between downloading pages in seconds [default: 0]
  --rating, -r          disable rating separation
  --filter              enable submission filter
  --metadata, -m        enable metadata saving
  --download DOWNLOAD   download a specific submission /view/12345678/
  -jd, --json-description
                        download description as a JSON list
  --login               extract furaffinity cookies directly from your browser
  --check               check and download latest submissions of a user
  --output, -o          set a custom output folder

Examples:
 python3 furaffinity-dl.py koul -> will download gallery of user koul
 python3 furaffinity-dl.py koul scraps -> will download scraps of user koul
 python3 furaffinity-dl.py mylafox favorites -> will download favorites of user mylafox 

You can also download a several users in one go like this:
 python3 furaffinity-dl.py "koul radiquum mylafox" -> will download gallery of users koul -> radiquum -> mylafox
You can also provide a file with user names that are separated by a new line

You can also log in to FurAffinity in a web browser and load cookies to download age restricted content or submissions:
 python3 furaffinity-dl.py letodoesart -c cookies.txt -> will download gallery of user letodoesart including Mature and Adult submissions
 python3 furaffinity-dl.py --submissions -c cookies.txt -> will download your submissions notifications 

DISCLAIMER: It is your own responsibility to check whether batch downloading is allowed by FurAffinity terms of service and to abide by them.

You can also log in to download restricted content. To do that, log in to FurAffinity in your web browser, and use python3 furaffinity-dl.py --login to export furaffinity cookies from your web browser in Netscape format directly in file cookies.txt or export them manually with extensions: for Firefox and for Chrome based browsers, then you can then pass them to the script with the -c flag, like this (you may also have to provide your user agent):

python3 furaffinity-dl.py letodoesart -c cookies.txt --user_agent 'Mozilla/5.0 ....'

TODO

  • Download user profile information.
  • "Classic" theme support
  • Login without having to export cookies

Disclaimer

It is your own responsibility to check whether batch downloading is allowed by FurAffinity's terms of service and to abide by them. For further disclaimers see LICENSE.

About

FurAffinity Downloader, now with 100% more Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%