【Windows + Docker】Courseraの教材をダウンロードする

Courseraでは受講しているコースの教材をダウンロードすることができます。

各レクチャーのページの「Downloads」タブからそのレクチャーの教材をダウンロードできますが、コースの教材をすべてダウンロードしたい場合には個別でするのは現実的ではありません。

教材をダウンロードするためのプログラムとしてはcoursera-dlがありますが、最終更新日が古くうまく動きませんでした。

そこで、このリポジトリのフォークであるcoursera-helperを使います。

ドキュメントにはPythonライブラリをインストール&実行する方法とDockerで行う方法が記載されています。今回私はDockerで行う方法でうまくいきましたので記事にします。(ローカルにPythonをインストールしていないため前者は試していません)

環境

  • Windows11
  • Dockerインストール済み
  • Python未インストール

手順

基本的にはリポジトリのREADMEの通りにすれば良いですが、一部私のWindows環境では動かない部分がありましたので修正しています。

CAUTHの取得

プログラムから教材をダウンロードするために認証をする必要があります。現在、Dockerで行う方法ではユーザ名とパスワードで認証できないようなので、CAUTHという値を取得する必要があります。

Courseraにログインし、F12で開発者ツールを開きます。

下の画像のように、Applicationタブ⇒Cookies⇒CourseraのURLを開き、CAUTHというNameを見つけます。見つけたら、対応するValueをコピーします。

実行

次に、教材を保存したいフォルダを決めます。コマンドプロンプトを開き、そのフォルダに移動します。Dockerを実行するとカレントディレクトリにダウンロードした教材が保存されます。

コマンドプロンプトに以下のコマンドを入力します。リポジトリにあるコマンドでは%cd%ではなく$(pwd)でローカルのディレクトリを指定していますが、Windows環境のためかうまく動かなかったので、変更しています。

docker run --rm -it -v "%cd%:/courses" csyezheng/coursera-helper --cauth CAUTHの値 コースの名前

コースの名前は、Courseraでコースを開いたときのURLから取得できます。画像の青い部分です。

Enterを押して実行します。初めて実行するときはDockerイメージが存在しないため、まずDockerイメージをPullする処理が入ります。その後、教材がダウンロードされます。

フォルダを見ると教材がダウンロードされています。

コメントする

メールアドレスが公開されることはありません。