Database of known game characters. The database is refreshed once a day, hosted on huggingface - deepghs/game_characters.
You can install gchar
with pip
pip install gchar
Find the characters (nicknames are supported for arknights and fgo)
Currently Supported Games (If you need data of other games, you can create an issue):
- Arknights (crawled from PRTS Wiki)
- Fate/Grand Order (crawled from FGO Wiki)
- Azur Lane (crawled from BiliGame Wiki)
- Girls' Front-Line (crawled from IOPWiki)
- Genshin Impact (crawled from Fandom)
- Neural Cloud (crawled from 42lab wiki)
- Blue Archive (crawled from bluearchive wiki and Gamekee BA)
- Nikke: Goddess of Victory (crawled from Fandom and Gamekee Nikke)
- Path To Nowhere (crawled from BiliGame Wiki)
- Honkai: Star Rail (crawled from Star Rail Station and BiliGame Wiki)
>>> from gchar.games import get_character
>>>
>>> get_character('amiya') # english name
<Character R001 - 阿米娅/amiya/アーミヤ, female, 5*****>
>>> get_character('z18')
<Character 346 - Z18/hans_ludemann/ハンス・リューデマン, 稀有(2**), group: Group.KMS>
>>> get_character('416')
<Character 65 - HK416/416/416, 5*****, clazz: Clazz.AR>
>>>
>>> get_character('夕') # chinese name
<Character NM02 - 夕/dusk/シー, female, 6******>
>>> get_character('宵宫')
<Character 宵宫/yoimiya/宵宮/よいみや, female, 5*****, weapon: Weapon.BOW, element: Element.PYRO>
>>>
>>> get_character('スルト') # japanese name
<Character R111 - 史尔特尔/surtr/スルト, female, 6******>
>>>
>>> get_character('CEO') # alias
<Character 171 - 彭忒西勒亚/黄金国的Berserker/penthesilea/berserker_of_el_dorado/ペンテシレイア/エルドラドのバーサーカー, female, 4****, class: Clazz.BERSERKER>
>>> get_character('黑呆')
<Character 3 - 阿尔托莉雅·潘德拉贡〔Alter〕/altria_pendragon_alter/アルトリア・ペンドラゴン〔オルタ〕/アルトリア・ペンドラゴン・オルタ/アルトリア・オルタ, female, 4****, class: Clazz.SABER>
>>> get_character('小火龙')
<Character RL03 - 伊芙利特/ifrit/イフリータ, female, 6******>
List all character with specific condition of one game
from gchar.games.arknights import Character
for ch in Character.all(): # 5star, boys
if ch.rarity == 5 and ch.gender == 'male':
print(ch)
Get search keywords for pixiv
>>> from gchar.resources.pixiv import get_pixiv_keywords
>>>
>>> get_pixiv_keywords('CEO')
'Fate/GrandOrder (berserker_of_el_dorado OR penthesilea OR エルドラドのバーサーカー OR ペンテシレイア OR 彭忒西勒亚 OR 黄金国的berserker)'
>>> get_pixiv_keywords('黑贞')
'Fate/GrandOrder (jeanne_d_arc_alter OR ジャンヌ・ダルク〔オルタ〕 OR 贞德〔alter〕) -jeanne_d_arc_alter_santa_lily'
>>> get_pixiv_keywords('amiya')
'アークナイツ (amiya OR アーミヤ OR 阿米娅)'
>>> get_pixiv_keywords('blazer') # fuzzy match is supported
'アークナイツ (blaze OR ブレイズ OR 煌)'
>>> get_pixiv_keywords('林雨霞')
'アークナイツ (lin OR 林) -angelina -flint -folinic -ling -守林人 -巡林者 -杜林'
>>> get_pixiv_keywords('夕')
'アークナイツ (dusk OR シー OR 夕) -ケルシー -シージ -シーン'
See how many posts on pixiv
>>> from gchar.resources.pixiv import get_pixiv_posts
>>>
>>> # first one is all, second one is r18
>>> get_pixiv_posts('CEO')
(867, 113)
>>> get_pixiv_posts('黑贞')
(21908, 3820)
>>> get_pixiv_posts('amiya')
(14130, 1113)
>>> get_pixiv_posts('blazer') # fuzzy match is supported, but slower
(1967, 383)
>>> get_pixiv_posts('林雨霞')
(259, 44)
>>> get_pixiv_posts('夕')
(2908, 424)
Get tags for danbooru and other sites
Currently supported sites:
- Anime Pictures, named
anime_pictures
- Atfbooru, named
atfbooru
- Sankaku, named
sankaku
- Danbooru, named
danbooru
- Hypnohub, named
hypnohub
- Konachan, named
konachan
- Konachan.Net, named
konachan_net
- Lolibooru, named
lolibooru
- Rule34, named
rule34
- Safebooru, named
safebooru
- Xbooru, named
xbooru
- Yande, named
yande
- Zerochan, named
zerochan
- WallHaven, named
wallhaven
(id:xxxx
will be used for explicit searching)
>>> from gchar.resources.sites import get_site_tag
>>>
>>> # first one is all, second one is r18
>>> get_site_tag('CEO', 'danbooru')
'penthesilea_(fate)'
>>> get_site_tag('黑贞', 'danbooru')
"jeanne_d'arc_alter_(fate)"
>>> get_site_tag('amiya', 'danbooru')
'amiya_(arknights)'
>>> get_site_tag('林雨霞', 'danbooru')
'lin_(arknights)'
>>> get_site_tag('夕', 'danbooru')
'dusk_(arknights)'
>>> get_site_tag('夕', 'danbooru', with_posts=True) # see how many images
('dusk_(arknights)', 1397)
>>> get_site_tag('夕', 'zerochan') # another sites
'Dusk (Arknights)'
Q: How timely is the data?
A: The data is updated approximately once a day and is hosted on Github Action, ensuring its timeliness. In the event of a malfunction on the crawled Wiki site that prevents data updates, the corresponding Wiki team will be contacted to resolve the issue.