World Conquest Chronicles

World Conquest Chronicles

White Clip Loader, v1.1.0

The utility for a bulk downloading of reels from Instagram*.

Implementation of the filtering.

 

* Запрещена в России / Banned in Russia.

Change Log

  • filtering:
    • automatic filtering (non-skippable):
      • by media type (should be VIDEO);
      • and by product type (should be CLIPS);
    • 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;
      • support for multiple ranges simultaneously (with conjunction);
    • skipping reels that have already been uploaded earlier (optionally);
    • counting of uploaded reels is independent of filtering (skipped reels aren't counted);
  • misc.:
    • make the init_logger() function run only once.

Features

  • requests to the Instagram* API:
    • authorization by username and password:
      • saving sessions between utility runs;
    • support for a proxy;
    • random delay between requests in the specified range;
  • 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;
  • filtering:
    • automatic filtering (non-skippable):
      • by media type (should be VIDEO);
      • and by product type (should be CLIPS);
    • 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;
      • support for multiple ranges simultaneously (with conjunction);
    • skipping reels that have already been uploaded earlier (optionally);
    • counting of uploaded reels is independent of filtering (skipped reels aren't counted).

 

* Запрещена в России / 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);
  • --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: 4s);
  • -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 of attr_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.