Skip to content
This repository has been archived by the owner on Mar 3, 2021. It is now read-only.

Latest commit

 

History

History
145 lines (128 loc) · 5.06 KB

README.en.md

File metadata and controls

145 lines (128 loc) · 5.06 KB

Pikax:unicorn:

GitHub stars PyPI PyPI - License GitHub code size in bytes GitHub last commit PyPI - Downloads
Pikax's aim is to provide a simple yet powerful Pixiv mass downloading tool

API

To prevent block, this api provide multi-threading download but single-core

  pip install pikax

Requirements

Currently supported features

  • Search
    • keyword/tags, limit, type, mode, popularity
  • Ranking
    • mode, limit, date, content
  • Yours or others
    • illustrations, mangas, bookmarks

Features incoming

  • Search Artists
  • ...
  • Tell me!

Download today's top 50 illustration

  from pikax import Pikax

  pixiv = Pikax()
  results = pixiv.rank(limit=50)
  pixiv.download(results)

Search and download 50 arknights related illustrations with 1000 likes (approx)

  from pikax import Pikax, settings, params

  pixiv = Pikax(settings.username, settings.password)
  results = pixiv.search(keyword='arknights', limit=50, popularity=1000, match=params.Match.PARTIAL)
  pixiv.download(results)

Download user's artworks (required username and password settings.py contains a temp account)

  from pikax import Pikax, settings, params

  # yours
  pixiv = Pikax()
  user = pixiv.login(username=settings.username, password=settings.password)  # login
  bookmarks = user.bookmarks(limit=20)  # get bookmarks
  pixiv.download(bookmarks)  # download

  # any user
  pixiv = Pikax(settings.username, settings.password)
  other_user = pixiv.visits(user_id=201323)  # get user from id

  illusts = other_user.illusts(limit=25)  # get his illustrations
  pixiv.download(illusts)  # download

  mangas = other_user.mangas(limit=10)  # get his mangas
  pixiv.download(mangas)  # download

  bookmarks = other_user.bookmarks(limit=20)  # get his bookmarks
  pixiv.download(bookmarks)  # download

download by id

  from pikax import Pikax

  pixiv = Pikax()
  pixiv.download(illust_id=75608670)

Changing the language

  from pikax.texts import texts

  texts.lang = texts.ZH  # change to Chinese
  # texts.lang = texts.EN  # default

Visits demo.py for more examples

Visits models.py for more details on usage

More operations

download top 50 of daily ranking and remove artworks with likes <= 1000

  from pikax import Pikax

  pixiv = Pikax()
  results = pixiv.rank(limit=50)  # top 50 ranking

  new_results = results.bookmarks > 1000  # remove likes less than 1000
  pixiv.download(new_results)  # download

download 200 '初音'(aka miku) related, around 1000 bookmarks artworks

remove artworks with likes <= 1000 and views <= 20000

  from pikax import Pikax, settings

  pixiv = Pikax(settings.username, settings.password)
  results = pixiv.search(keyword='初音', limit=200, popularity=1000)  # search

  new_results = (results.bookmarks > 1000).views > 20000  # get likes > 1000 and views > 20000
  pixiv.download(new_results)  # download

For advanced usage visits advanced demo.py

For customization visits settings.py

GUI

Does not provide support for using behind The Great FireWall, please use VPN or Airplane

  • Change log
  • Login with your Pixiv account or Guest login
  • Support multiprocessing download
    • Rankings
    • Searchings
    • Any user's illustrations/bookmarks/mangas
    • Any artwork
  • Language available
    • English (default)
    • Chinese
  • Download here

Building from source

require pyinstaller
pip install pyinstaller

Non-windows

git clone https://github.com/Redcxx/Pikax.git
cd Pikax/gui
# adjust main.spec here if you want
pyinstaller main.spec
cd dist
ls

Windows

git clone https://github.com/Redcxx/Pikax.git
cd Pikax/gui
# adjust main.spec here if you want
./build.bat
cd build/dist
ls

You can reach me by email