はじめに
『五等分の花嫁』っていいアニメですよね。花澤香菜さん、竹達彩奈さん、伊藤美来さん、佐倉綾音さん、水瀬いのりさん、高森奈津美さん とさまざまな声優さんが出演されています。
声優さんたちが他にどんなアニメに出演されているのか気になりますよね!!!全人類が気になることだと思います。そこで、Wikipediaの声優さんの記事から出演アニメを抽出するコードを作りました。
なお、この記事ではJupyter NotebookでPython3を動かしています。
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))
『五等分の花嫁』のみが出力されました。
これで、様々な声優さんのペアで一緒に出演しているアニメが分かりますね....(テレビアニメだけでなくゲームも入れると面白そうですね)
というわけで、皆さん映画を見ましょう!!!