英語学習者の間では昔から、「洋画で英語を学ぶ」という方法がよく知られています。
しかし、実際にやってみると「字幕の切り替わりが速すぎて読めない」「単語を調べようとしても一瞬で消える」といった壁にぶつかります。
私自身も同じ悩みを持っていて、字幕をテキストデータとして保存できないか?と思い、調べてみたところ「Subadub」というChrome拡張を使えば簡単に保存できることがわかりました。
この記事では、SubadubでNetflixの英語字幕をテキストファイルとして保存する方法と、Pythonを使って余分な情報を取り除くスクリプトを紹介します。
Netflixの英語字幕をテキストファイルとして保存する手順
- Subadubをインストール
Chromeウェブストアで「Subadub」と検索し、拡張機能を追加します。
Subadub(Chrome Web Store) - Netflixで英語字幕付きの作品を再生
字幕設定で「英語(English)」を選択してください。 - 右上に表示される「Download SRT」ボタンをクリック
これで.srt
形式の字幕ファイルをダウンロードできます。 - ファイルを開く
Macの場合は「テキストエディット.app」で開けばOKです。Windowsならメモ帳でも問題ありません。
srt
ファイルを開くと、次のような構成になっています👇
1
00:00:01,000 --> 00:00:03,000
I'm going to make him an offer he can't refuse.
2
00:00:03,500 --> 00:00:05,000
That's my boy.
時間情報や番号がついていて、学習用としては少し見づらいですよね。
そこで、Pythonを使ってセリフ部分だけを抜き出します。
Pythonで不要部分を削除して見やすく整形する
以下のスクリプトは、srtファイルからセリフだけを抽出して新しいテキストファイルに出力します。
import re
input_file_path = 'path_here' # path_here には srt ファイルのパスを入れる
output_file_path = 'modified.txt'
with open(input_file_path, encoding='utf-8') as input_file, open(output_file_path, 'w', encoding='utf-8') as output_file:
for line in input_file:
# タイムスタンプ行をスキップ
if not re.match(r'\d{2}:\d{2}:\d{2},\d{3} --> \d{2}:\d{2}:\d{2},\d{3}', line):
# 行番号など数字だけの行を除去
modified_line = re.sub(r'^\d+$', '', line).strip()
# 余分なスペースを整形
modified_line = re.sub(r'\s{2,}', ' ', modified_line)
if modified_line:
output_file.write(modified_line + '\n\n')
🔍 ポイント解説
re.match(...)
:時間情報の行をスキップre.sub(r'\d+', '', line)
:行番号などの数字を削除strip()
とreplace()
:余計な空白を整える
こうすることで、以下のように純粋な英語セリフだけが並ぶファイルが生成されます。
I'm going to make him an offer he can't refuse.
That's my boy.
これをテキストとして保存すれば、あとで翻訳アプリやChatGPTに貼り付けて意味を確認したり、単語帳を作ったりできます。
応用:字幕を英語学習に活かす方法
字幕をテキスト化できると、学習の幅が一気に広がります。
例えば以下のような使い方が可能です👇
- ChatGPTやDeepLで全文翻訳しながら復習
- Pythonで単語頻度を集計し、自分の苦手単語を抽出
- Anki用のCSVに変換してフラッシュカード化
- 文法解析(NLTK, spaCyなど)で構文パターンを学習
特にSubadubで保存した英語字幕は、ドラマ・映画の自然な会話が多く、教科書的な英語とは違う“生きた英語”の宝庫です。
英語学習について思うこと
ここまでが技術的な話でしたが、最後に少しだけ「なぜ英語を学ぶのか」という話をしたいと思います。
実はこのテーマ、AIを触るようになってから強く感じるようになりました。
AIの進化によって、アプリ開発やコーディングの壁はどんどん下がっています。
今や、AIを活用すれば1人でもアプリを作れる時代です。
私自身もこのサイトをフルスクラッチで作り、複数のアプリを個人開発しています。
SIerの現場にいると、まだ人月商売が主流ですが、PGの仕事の多くはAIによって置き換えられつつあるように感じます。
※まあ、SEの仕事でも言えることなんですけどね、、、
気付かないふりをしている人も多いですが、いずれ新しい技術と企業がその構造を変えていくでしょう。
では、そうした時代に「人が持つ強み」とは何でしょうか。
私は、それが言語力=コミュニケーション能力だと思っています。
確かに、AIが翻訳や文章生成を代替できる時代です。
しかし、直接の会話や感情のやりとりは、まだ機械には再現できません。
たとえば通訳デバイスを通してプロポーズをする――そんな未来も来るかもしれませんが、
その瞬間に「言葉を自分の口で伝える力」を失ってしまう気がします。
技術がどれだけ進化しても、言葉で人とつながる価値は変わらない。
AI時代だからこそ、英語のような“生きた言語”を学ぶ意味はむしろ強まっていると感じます。
まとめ
Subadubを使えば、Netflixの英語字幕を簡単にテキスト化でき、Pythonで整形すれば自分だけの英語学習素材になります。
時間情報を取り除くだけで、リーディング教材やシャドーイング素材としても活用可能です。
技術の進化によって学習の手段は変わっても、「言葉でつながる力」だけは変わらない。
そんなことを、Netflixの字幕を見ながら改めて感じました。
今後は、PythonでGUIツール化してワンクリックで整形・翻訳できるような英語学習支援アプリを作ってみたいと思っています。 まあ、しばらくはブログの収益化目標で動きますが!
注意点
Netflixの字幕データは、あくまで個人学習目的でのみ利用してください。
ダウンロードした字幕をインターネット上で公開・再配布する行為は、Netflixの利用規約に反する可能性があります。
本記事の内容は教育目的で紹介しており、著作権を侵害する意図はありません。