サムネがコーヒーの記事は書きかけです。

映画の中の特定の言葉の出現回数をカウントする 【Python】

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スクレイピング等に応用できそうなので、何か思いついたら利用していきます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です