Je voulais voir beaucoup d'illustrations pixiv de Python. Il semble y avoir peu d'informations japonaises sur pixivpy, je vais donc les laisser comme mémo.
Windows10 Python 3.8 pixivpy 3.5.8 : https://github.com/upbit/pixivpy
Préparer pixivpy Depuis l'invite de commande
pip install pixivpy
Courir
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("Dessin animé:" + str(illust.page_count) + "page") if illust.is_manga else print("Une 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 = "Rechercher une balise" #Rechercher une baliseを入力。半角スペースで分けることで複数タグ検索可能
min_score = 2000 #DL uniquement pour les illustrations au-dessus de ce score
range_num = 1 #Recherchez jusqu'à la page avec cette valeur. 30 feuilles par 1p
directory = 'Répertoire de destination' #Crée un dossier avec le nom de la balise de recherche sous le répertoire spécifié et l'enregistre là-bas.
apilogin = login("Nom d'utilisateur", "mot de passe") #Nom d'utilisateurとmot de passe入力
search_and_save(apilogin, searchtag, min_score, range_num, directory)
if __name__ == '__main__':
main()
Vous pouvez rechercher comme vous le souhaitez en modifiant les variables sous la fonction principale. Il prend également en charge la publication au format dessin animé (un format avec plusieurs illustrations dans un seul titre).
--Je souhaite enregistrer directement sur Google Drive --Prenez le top 20% des illustrations recherchées par ordre de score
Tous ont été très utiles dans leurs articles polis.
Recommended Posts