LoginSignup
29
10

More than 1 year has passed since last update.

この声優さんたちって共演してる気がする!!!

Last updated at Posted at 2022-06-04

はじめに

 『五等分の花嫁』っていいアニメですよね。花澤香菜さん、竹達彩奈さん、伊藤美来さん、佐倉綾音さん、水瀬いのりさん、高森奈津美さん とさまざまな声優さんが出演されています。
 声優さんたちが他にどんなアニメに出演されているのか気になりますよね!!!全人類が気になることだと思います。そこで、Wikipediaの声優さんの記事から出演アニメを抽出するコードを作りました。

 なお、この記事ではJupyter NotebookPython3を動かしています。

Wikipediaをインストール

 PythonでWikipediaの記事を見るにはWikipediaライブラリが便利です。コマンドプロンプトで pip install wikipedia と入れることでインストール出来ます。

Wikipediaの記事のテンプレート

 とりあえず、好きな声優さんの一人である早見沙織さんのWikipedia記事を見てみます。

 出演されているアニメは「出演」の中の「テレビアニメ」の項目に書いてあります。アニメごとに

 ・アニメ名(配役(配役が変更されていれば年)(注釈))

 で書かれています。そのため、「」が入っている行の「」の前の部分を抽出すればよいです。

コードを書く

まずはインストールしたWikipediaをimportします。さらに、日本語版の記事を読み込むことを指定します。

import wikipedia
#ライブラリの読み込み

wikipedia.set_lang("ja") 
#言語を日本語に設定

次に、声優さんの名前が入ったリストに対して、そのリストの声優さんたちが全員出演しているアニメを返す関数を定義します。

def check(humans : list):
    ans = set()
    #関数で返すアニメのset
    for name in humans:
        Aset = set()
        
        page = wikipedia.page(name, auto_suggest=False)
        #Wikipediaの全文を取得
        
        txt = page.content
        #pageの本文にする
        
        List = list(txt.split('\n'))
        #改行文字で分けてリスト化する
        
        t = List.index('=== テレビアニメ ===')
        p = len(List)
        if '=== 劇場アニメ ===' in List:
            p = List.index('=== 劇場アニメ ===')
        if '=== ゲーム ===' in List:
            p = min(p,List.index('=== ゲーム ==='))
        for i in range(t,p+1):
            anime = List[i]
            if '' in anime:
                z = anime.find('')
                Aset.add(anime[:z])
        if ans == set():
            ans = Aset
        else:
            ans &= Aset
    return ans

というわけで、この関数に五等分の五つ子の声優さんのリストを入れてみましょう。

p = ['伊藤美来','竹達彩奈','花澤香菜','水瀬いのり','佐倉綾音']
print(check(p))

『五等分の花嫁』のみが出力されました。
これで、様々な声優さんのペアで一緒に出演しているアニメが分かりますね....(テレビアニメだけでなくゲームも入れると面白そうですね)

というわけで、皆さん映画を見ましょう!!!

29
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
10