Skip to content

Instantly share code, notes, and snippets.

@XiaoGeNintendo
Created August 3, 2021 04:28
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save XiaoGeNintendo/6571f82342e391fa9556989d362319d9 to your computer and use it in GitHub Desktop.
Save XiaoGeNintendo/6571f82342e391fa9556989d362319d9 to your computer and use it in GitHub Desktop.
Touhou R-18 Rate Research on Pixiv Tool
'''
Maybe do some research with danbooru
'''
import re
import urllib.request
import sys
import json
from pixivpy3 import *
from tqdm import tqdm
char = [
"博麗霊夢",
"霧雨魔理沙",
"ルーミア",
"チルノ",
"紅美鈴",
"パチュリー・ノーレッジ",
"十六夜咲夜",
"レミリア・スカーレット",
"フランドール・スカーレット",
"大妖精",
"小悪魔",
"冴月麟",
"レティ・ホワイトロック",
"橙",
"アリス・マーガトロイド",
"ルナサ・プリズムリバー",
"メルラン・プリズムリバー",
"リリカ・プリズムリバー",
"魂魄妖夢",
"西行寺幽々子",
"八雲藍",
"八雲紫",
"伊吹萃香",
"リグル・ナイトバグ",
"ミスティア・ローレライ",
"上白沢慧音",
"因幡てゐ",
"鈴仙・優曇華院・イナバ",
"八意永琳",
"蓬莱山輝夜",
"藤原妹紅",
"射命丸文",
"メディスン・メランコリー",
"風見幽香",
"小野塚小町",
"四季映姫・ヤマザナドゥ",
"秋静葉",
"秋穣子",
"鍵山雛",
"河城にとり",
"犬走椛",
"東風谷早苗",
"八坂神奈子",
"洩矢諏訪子",
"永江衣玖",
"比那名居天子",
"キスメ",
"黒谷ヤマメ",
"水橋パルスィ",
"星熊勇儀",
"古明地さとり",
"火焔猫燐",
"霊烏路空",
"古明地こいし",
"ゾンビフェアリー",
"ナズーリン",
"多々良小傘",
"雲居一輪",
"村紗水蜜",
"寅丸星",
"聖白蓮",
"封獣ぬえ",
"幽谷響子",
"宮古芳香",
"蘇我屠自古",
"物部布都",
"豊聡耳神子",
"二ッ岩マミゾウ",
"秦こころ",
"わかさぎ姫",
"赤蛮奇",
"今泉影狼",
"九十九弁々",
"九十九八橋",
"鬼人正邪",
"少名針妙丸",
"堀川雷鼓",
"宇佐見菫子",
"清蘭",
"鈴瑚",
"ドレミー・スイート",
"稀神サグメ",
"クラウンピース",
"純狐",
"ヘカーティア・ラピスラズリ",
"依神女苑",
"依神紫苑",
"エタニティラルバ",
"坂田ネムノ",
"高麗野あうん",
"矢田寺成美",
"爾子田里乃",
"丁礼田舞",
"摩多羅隠岐奈",
"戎瓔花",
"牛崎潤美",
"庭渡久侘歌",
"吉弔八千慧",
"杖刀偶磨弓",
"埴安神袿姫",
"驪駒早鬼",
"豪徳寺ミケ",
"山城たかね",
"玉造魅須丸",
"菅牧典",
"飯綱丸龍",
"天弓千亦",
"姫虫百々世",
"森近霖之助",
"朱鷺子",
"綿月豊姫",
"綿月依姫",
"稗田阿求",
"本居小鈴",
"奥野田美宵",
"宇佐見蓮子",
]
print("Initializing API")
api=PixivAPI()
token = input() #change this when needed to run
api.auth(refresh_token=token)
with open("f.csv",mode="w",encoding="utf-8") as f:
for j in tqdm(char,desc="char"):
total = api.search_works(j,mode='tag').pagination.total
r18 = api.search_works(j+' R-18',mode='tag').pagination.total
r18g = api.search_works(j+' R-18G',mode='tag').pagination.total
print(j,total,r18,r18g,"%.2f%% %.2f%%"%(r18/total*100,r18g/total*100))
f.write("%s,%d,%d,%d\n"%(j,total,r18,r18g))
f.flush()
# input()
@XiaoGeNintendo
Copy link
Author

Remember to use this to get token

@XiaoGeNintendo
Copy link
Author

Update: Unfortunately the PAPI has died. The script above no longer works properly. :(

@XiaoGeNintendo
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment