Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

A command line tool to download images from Pixiv.

Project description

pixi

Build Status Coverage Status Pypi Pyversions

A command line tool to download illustrations from Pixiv.

Usage: pixi [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  artist     Download illustrations of an artist by URL or ID.
  auth       Log into Pixiv and generate a refresh token.
  bookmarks  Download illustrations bookmarked by a user.
  config     Edit the config file.
  failed     View illustrations that failed to download.
  illust     Download an illustration by URL or ID.
  migrate    Upgrade the database to the latest migration.
  wipe       Wipe the saved history of downloaded illustrations.

Usage

This tool can be installed from PyPI as pixi.

$ pip install --user pixi

After installation, create the database and configure pixi with the following commands.

$ pixi migrate  # Migrate the database
$ pixi config  # Configure pixi

Refer to the configuration section for details on the various configuration options.

Now you can begin downloading!

For example, the following commands download an illustration. pixi accepts both a URL to the illustration as well as just the illustration ID. The same applies to all inputs that accept ID values.

$ pixi illustration https://www.pixiv.net/member_illust.php?mode=medium&illust_id=64930973
$ pixi illustration 64930973

Downloading all the illustrations of an artist can be done with the following command.

$ pixi artist https://www.pixiv.net/member.php?id=2188232

Bookmarks, public and private, can be downloaded with the following command.

$ pixi bookmarks

The public bookmarks of other users can also be downloaded.

$ pixi bookmarks --user https://www.pixiv.net/member.php?id=2188232

And the following command downloads all bookmarks matching a user-assigned bookmark tag.

$ pixi bookmarks --tag "has cats"

To view all the options available to a specific command, run the command with the --help flag. For example, illustration's options can be viewed with the following command.

$ pixi --help illustration

When downloading many images from an artist or a user's bookmarks, an image can occasionally fail to download. If an image fails to download after several retries, it will be recorded and skipped. Failed images can be viewed with the following command.

$ pixi failed

If an image on the failed list is successfully downloaded, it will automatically be removed from the list. To wipe the entire failed list, the following command should be run.

$ pixi wipe --table=failed

pixi also keeps track of which illustrations have been downloaded and will avoid downloading duplicate illustrations. However, if you wish to re-download illustrations, pass the --allow-duplicates (or -a) flag.

By default, illustration downloads will be tracked if they are downloaded to the default downloads directory and not tracked if they aren't. This behavior can be manually set with the --track/--no-track (or -t/-T) flag.

If you wish to wipe the database of tracked downloads, run the following command and confirm the action.

$ pixi wipe --table=downloads

Configuration

The configuration file is in ini format. A demo configuration is included below. To run pixi, a default download directory must be configured.

[pixi]
; Leave this blank; the script will auto-populate it.
refresh_token =
; The default directory for illustrations to be downloaded to.
download_directory = /home/azuline/images/pixiv

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pixi, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size pixi-0.2.0-py3-none-any.whl (15.3 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size pixi-0.2.0.tar.gz (14.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page