srtモジュールを使うとタイトルの通りのことができそうなのでやってみます。
目次
srtファイルをダウンロード
srtとは映画共通の字幕フォーマットのことです。まずはこのsrtファイルを拾ってきます。
映画名_srtで調べると大体手に入ります。
Subtitleクラス
srtモジュールを使用するとインデックスや時間などを今別に抽出してくれますが、映画の中の言葉を数えるだけならそこまで詳細な情報はいらないので、使いやすいようにデータを加工しています。
import srt
class Subtitle:
def __init__(self,name) -> None:
with open(f"{name}.srt", mode='r', encoding="utf-8") as f:
self.subtitles = {i:c.content for i,c in enumerate(srt.parse(f.read()))}
def count_f(self,word) -> int:
counter = 0
for i,phrase in enumerate(self.subtitles.values()):
if word in phrase:
print(phrase)
counter += 1
return counter
title = "title"
subs = Subtitle(title)
print(subs.count_f("word"))結構簡単なコードですが、webスクレイピング等に応用できそうなので、何か思いついたら利用していきます。

