White Clip Loader, v1.2.1
Posted on

The utility for a bulk downloading of reels from Instagram*.
Adding the usage manual and performing the small improvements.
* Запрещена в России / Banned in Russia.
Change Log
- requests to the Instagram* API:
- support for reusing device UUIDs between authorizations;
- increase the default maximum delay between requests;
- downloading of reels:
- use a user PK in the base output filename;
- sources for downloading:
- require at least one source option;
- misc.:
- add the usage manual:
- add the
Authorizationsection:- add the
Authorization/Setting Credentialssection; - add the
Authorization/Reusing a Sessionsection;
- add the
- add the
General Optionssection:- add the
General Options/Clip Count for Downloadingsection; - add the
General Options/Delay between Requestssection;
- add the
- add the
Sourcessection:- add the
Sources/Usernamessection; - add the
Sources/Hashtagssection; - add the
Sources/URLssection;
- add the
- add the
Filteringsection:- add the
Filtering/Filtering by Clip Durationsection; - add the
Filtering/Filtering by Uniquenesssection;
- add the
- add the
Outputsection:- add the
Output/Output Directorysection; - add the
Output/Separation into Subdirectoriessection; - add the
Output/Clip Filenamessection;
- add the
- add the
Usage Examplesection.
- add the
- add the usage manual:
* Запрещена в России / Banned in Russia.
Features
- requests to the Instagram* API:
- authorization by username and password:
- saving sessions between utility runs;
- reusing device UUIDs between authorizations;
- support for a proxy;
- random delay between requests in the specified range;
- authorization by username and password:
- downloading of reels:
- to the specified output directory;
- automatic creation of output subdirectories:
- by source name (optionally);
- by downloading date (optionally);
- sources for downloading:
- by usernames:
- support for downloading by username list;
- random reel count for downloading in the specified range;
- by hashtags:
- support for downloading by hashtag list;
- random reel count for downloading for the specified hashtag;
- support for specifying a category for each hashtag:
top;recent;clips;
- setting up hashtags via command line arguments in the format:
name:category;
- by direct URLs:
- support for downloading by direct URL list;
- by usernames:
- filtering:
- automatic filtering (non-skippable):
- by media type (should be
VIDEO); - and by product type (should be
CLIPS);
- by media type (should be
- filtering by numeric ranges:
- for the following reel properties:
comment_count;like_count;play_count;view_count;video_duration;
- setting up ranges via command line arguments:
- format:
attr_name:min_value:max_value; - support for both integral and real ranges;
- format:
- support for multiple ranges simultaneously (with conjunction);
- for the following reel properties:
- skipping reels that have already been uploaded earlier (optionally);
- counting of uploaded reels is independent of filtering (skipped reels aren't counted).
- automatic filtering (non-skippable):
* Запрещена в России / Banned in Russia.
Usage
$ white-clip-loader -v | --version
$ white-clip-loader -h | --help
$ white-clip-loader [options]
Options:
-v,--version— show the program version number and exit;-h,--help— show this help message and exit;-V,--verbose— verbose logging; can be specified several times: the more times, the more verbose;-U [USERNAME ...],--usernames [USERNAME ...]— Instagram* usernames for downloading (supports several usernames, e.g.,--usernames foo bar);-H [HASHTAG ...],--hashtags [HASHTAG ...]— Instagram* hashtags for downloading (supports several hashtags, e.g.,--hashtags foo bar; each hashtag should be in the form ofname:category; allowed categories:top,recent,clips(probably hidden));-u [URL ...],--urls [URL ...]— Instagram* URLs for downloading (supports several URLs, e.g.,--urls foo bar);--min-count COUNT— minimum clip count for downloading (default:10);--max-count COUNT— maximum clip count for downloading (default:20);--min-delay DURATION— minimum delay between requests (default:3s);--max-delay DURATION— maximum delay between requests (default:6s);-f [RANGE_FILTER ...],--range-filters [RANGE_FILTER ...]— range filters (supports several range filters, e.g.,--range-filters foo bar; each range filter should be in the form ofattr_name:min_value:max_value; allowed attribute names:comment_count,like_count,play_count,view_count(probably useless),video_duration);-o PATH,--output PATH— path to an output directory (default:output);--no-source-subdirs— don't create source subdirectories;--no-date-subdirs— don't create date subdirectories;--no-register— don't filter clips by register.
Environment variables:
WHITE_CLIP_LOADER_PROXY— proxy (supports SOCKS and HTTP/HTTPS proxies);WHITE_CLIP_LOADER_USERNAME— Instagram* username;WHITE_CLIP_LOADER_PASSWORD— Instagram* password.
Environment variables can be specified in a .env config in the format:
NAME_1=value_1
NAME_2=value_2
...
See details about the format: https://github.com/motdotla/dotenv#rules.
A .env config will never modify any environment variables that have already been set.
* Запрещена в России / Banned in Russia.
Screenshots
Re-authorization in case of invalid stored settings
