Durchsuchen von Pixiv-Tags und Speichern von Illustrationen mit Python

Einführung

Ich wollte viele Pixiv-Illustrationen von Python sehen. Es scheint wenig japanische Informationen über pixivpy zu geben, daher werde ich sie als Memo hinterlassen.

Umgebung

Windows10 Python 3.8 pixivpy 3.5.8 : https://github.com/upbit/pixivpy

Vorbereitung

Bereite pixivpy vor An der Eingabeaufforderung

pip install pixivpy

Lauf

Code

tagsearch_pixivpy.py


from pixivpy3 import PixivAPI
from pixivpy3 import AppPixivAPI

import json
import os
from time import sleep

def login(id, password):
    api = PixivAPI()
    api.login(id, password)
    return api

def search_and_save(apilogin, searchtag, min_score, range_num, directory):
    api = apilogin
    aapi = AppPixivAPI()

    saving_dir_path = os.path.join(directory, searchtag)
    if not os.path.exists(saving_dir_path):
        os.mkdir(saving_dir_path)

    for page in range(1, range_num + 1):
        json_result = api.search_works(searchtag, page=page, mode='tag')
        illust_len = len(json_result.response)

        for i in range(0, illust_len):
            illust = json_result.response[i]
            score = illust.stats.score

            if score <= min_score:
                continue
            else:
                print("Karikatur:" + str(illust.page_count) + "Seite") if illust.is_manga else print("Eine Illustration")
                if illust.is_manga:
                    print(">>> title:", illust.title)
                    manga_info = api.works(illust.id)
                    for page_no in range(0, manga_info.response[0].page_count):
                        page_info = manga_info.response[0].metadata.pages[page_no]
                        aapi.download(page_info.image_urls.large, path=saving_dir_path)
                        sleep(1)
                else:
                    print(">>> title:", illust.title)
                    aapi.download(illust.image_urls.large, path=saving_dir_path)
                    sleep(1)

def main():
    searchtag = "Such-Tag"  #Such-Tagを入力。半角スペースで分けることで複数タグ検索可能
    min_score = 2000    #DL nur für Abbildungen über dieser Punktzahl
    range_num = 1   #Suchen Sie bis zu der Seite mit diesem Wert. 30 Blatt pro 1p
    directory = 'Zielverzeichnis'  #Erstellt einen Ordner mit dem Namen des Such-Tags unter dem angegebenen Verzeichnis und speichert ihn dort.

    apilogin  = login("Nutzername", "Passwort") #NutzernameとPasswort入力

    search_and_save(apilogin, searchtag, min_score, range_num, directory)

if __name__ == '__main__':
	main()

Sie können nach Belieben suchen, indem Sie die Variablen unterhalb der Hauptfunktion ändern. Es unterstützt auch das Posten im Cartoon-Format (ein Format, in dem mehrere Illustrationen an einen Titel angehängt sind).

Idee

Referenzseite

Alle waren in ihren höflichen Artikeln sehr hilfreich.

Recommended Posts

Durchsuchen von Pixiv-Tags und Speichern von Illustrationen mit Python
Grundeinstellungen für die Verwendung von Python3.8 und pip unter CentOS8
Erweiterbare Skelette für Vim mit Python, Click und Jinja2
Lesen und schreiben Sie NFC-Tags mit Python mit PaSoRi
[Python] Zugreifen auf und Zuschneiden von Bildpixeln mit OpenCV (für Anfänger)
Authentifizierung mit Tweepy-User-Authentifizierung und Anwendungsauthentifizierung (Python)
[TouchDesigner] Tipps für die Anweisung von Python
Clustering und Visualisierung mit Python und CytoScape
[Python] Grund für das Überschreiben mit super ()
[Python] Neunundneunzig Tabellen, die for-Anweisungen verwenden
Speichern, Wiederherstellen und Abfragen der Suche von Python-Klasseninstanzen mit mongodb
Erstellen eines Markierungsblatts mit Python OpenCV (Tipps zum guten Lesen)
Hinweise zur Verwendung von OpenCV mit Windows 10 Python 3.8.3.
Hinweise zur Verwendung von cChardet und python3-chardet in Python 3.3.1.
Von Python bis zur Verwendung von MeCab (und CaboCha)
Python-Entwicklungsumgebung für macOS mit venv 2016
[50 zählt] Schlüsselübertragung mit Python für Windows
Verwenden von Python und MeCab mit Azure Databricks
[Python, Multiprocessing] Verhalten für Ausnahmen bei Verwendung von Multiprocessing
6 Python-Bibliotheken für schnellere Entwicklung und Debugging
Tipps zur Verwendung von Python + Caffe mit TSUBAME
Implementierung und Beschreibung mit XGBoost für Anfänger
Hinweise zur Verwendung von Python (Pydev) mit Eclipse
Scraping mit lxml und Speichern in MySQL
Ich verwende Tox und Python 3.3 mit Travis-CI
SublimeText2 und SublimeLinter - Syntax prüfen auf Python3--
Effektiver Python-Hinweis Punkt 12 Vermeiden Sie die Verwendung von else-Blöcken nach for- und while-Schleifen
Schätzung der Kopforientierung mit Python und OpenCV + dlib
vprof - Ich habe versucht, den Profiler für Python zu verwenden
Ich habe versucht, Web-Scraping mit Python und Selen
Kausales Denken und kausale Suche von Python (für Anfänger)
(Windows) Ursachen und Problemumgehungen für UnicodeEncodeError in Python 3
Hinweise zur Installation von Python3 und zur Verwendung von pip unter Windows7
Entwickeln und Bereitstellen von Python-APIs mit Kubernetes und Docker
Python-Entwicklungsablauf mit Poetry, Git und Docker
Ich habe versucht, Objekte mit Python und OpenCV zu erkennen
Python-Pandas: Suchen Sie mit regulären Ausdrücken nach DataFrame
Mit dem Evernote SDK für Python 3 erhalten Sie Informationen zu Notizen
Erstellen Sie eine Webmap mit Python und GDAL
Verbesserte Suche nach Pokemon-Rennwerten mit Python
[Hikari-Python] Kapitel 09-02 Klassen (Erstellen und Instanziieren von Klassen)
[Python / Chrome] Grundeinstellungen und Operationen zum Scraping
[Python3] Automatische Texterzeugung mit janome und markovify
PDF-Dateien und Websites zum Erlernen von Python 3
Versuchen Sie es mit Tensorflow. ① Erstellen Sie eine Python-Umgebung und führen Sie Tensorflow ein
Lassen Sie uns mit SWIG ein Modul für Python erstellen
Versuchen Sie, die ChatWork-API und die Qiita-API in Python zu verwenden
Installieren Sie Python und Bibliotheken für Python unter MacOS Catalina
Installieren Sie PyCall auf Raspberry PI und versuchen Sie, die GPIO-Bibliothek für Python von Ruby zu verwenden