Patreon Crawler
A simple tool to download all media from a patreon creator
Setup
Download the latest release and add the executable to your PATH.
Don't forget to make the file executable using chmod u+x patreon-crawler when using a UNIX-based operating system
Usage
The patreon-crawler requires you to manually extract the cookie from the Patreon website inorder to authenticate you against the Patreon API.
The simplest way to extract the cookies is by visiting the Patreon home page and copying the cookie-value from a network request:
- In a new tab, open your browser's network tab.
- Navigate to patreon.com/home. Make sure you are logged in.
- Find a request starting with
current_user?include=..... Click it a scroll to the Request Headers section.
- Copy the
Cookie value to your clipboard.
To authenticate against patreon.com it's actually sufficient to copy the session_id=<id> cookie, however, passing the entire cookie string won't affect functionality.
To download all media from one or multiple creators, run the following command.
patreon-crawler crawl <creator-id> [<creator-id-2> <creator-id-3> ...]
You can find the creator ID in the URL when visiting a creator's page: patreon.com/c/<creator-id>/...
You will be prompted to enter the cookie (the one you copied earlier) and a download directory.
If you do not wish do be prompted, you can also use the --cookie and --download-dir flag respectively.
Note: The cookie will be cached after authenticating against patreon.com once and wont't be required in subsequent runs.
Command line flags
The patreon-crawler crawl command supports the following command line flags.
| Argument |
Description |
--cookie <cookie-string> |
The cookie from the Patreon website to authenticate against the Patreon API |
--download-dir <directory> |
The base directory to download media to. All files will be located in <download-dir>/<creator> |
--download-limit <number> |
The maximum number of posts to download. |
--download-inaccessible-media |
Whether to download media that is inaccessible (blurred images) |
--grouping <none | by-post> |
The strategy for grouping post media into folders.
none - Puts all media into the same folder (per creator)
by-post - Creates a folder for each post, containing its media |
--concurrency <number> |
The number of concurrent downloads to perform (default 4) |
--media <images | attachments | all> |
Which media to download (default images).
images - only the post's inline images
attachments - only file attachments (e.g. zipped original images)
all - both (deduplicated by media ID) |