Skip to content

ConstruKction/Yet-Another-Booru-Getter

Repository files navigation

Yet Another Booru Getter

YABG is a CLI program that downloads images from some of the most famous boorus.

Currently supported boorus:

  • Gelbooru
  • Danbooru
  • Konachan
  • Safebooru
  • Yande.re
  • ATF
  • Zerochan (not recommended to combine with other boorus due to big tagging differences)

I'll try to support as many boorus as possible in the future. Feel free to create an issue if you want support for a specific booru that's not supported yet.

DISCLAIMER: Although it is possible to tell the program to download specified tags from all possible imageboards, it's not always going to yield ideal results due to some differences in how certain imageboards handle tags (e.g. $artist_(artist) vs $artist) etc. Also please note that some imageboards are slower than others. For example, Gelbooru is crazy fast, but Zerochan enforces a sleeptime, while ATF or Yande.re are just plain slow.

Features

  • Supports multiple boorus
  • Skip already downloaded images based on image md5 hash
  • Multiple tag search (both include and exclude)
  • Optional metadata logging per image into a txt file
  • Works with multiple tags at a time for Danbooru without account! Note however that the operation is much slower when querying more than two tags at a time due to Danbooru API limitations (must complete query within 3s or else timeout, so the downloader has to retry quite often).
  • Can use a Zerochan account. You need to fill out your z_id and z_hash in zerochan.json. You can find them in your Zerochan cookies.
  • NSFW-only / SFW-only modes.

Usage/Examples

main.py [-h | --help] [-t | --tags TAGS] [-e | --exclude EXCLUDE] [-c | --count COUNT] [-l | --log] [-a | --all] [-s | --sources SOURCES]

Halp

main.py -h

Get 25 latest items from Gelbooru (max 100):

main.py -c 25 -s gelbooru

Refine search by including and excluding tags:

main.py -c 25 -t hatsune_miku,sitting -e looking_at_viewer

Just gimme ALL Mikus from everywhere (duplicates will be skipped):

main.py -t hatsune_miku -a -s gelbooru,danbooru,konachan,safebooru,yandere,zerochan,atf

Log metadata per image in a txt file:

main.py -t hatsune_miku -l -s gelbooru

License

MIT License