course scraper

course scraper

by Takayuki ISHIKAWA -
Number of replies: 15
Picture of Developers

moodle 上の任意の course の内容を CD-R や DVD-R に焼き、学生が自宅で (INTERNET 接続がなくても) 内容が見られるようにしたいと考えています。そういった機能を持つ program をどなたかご存じないでしょうか。

こういったものがなければ、

<td id="middle-column">

の中身を取り出す program (course scraper) を自分で作ってみようかとも思いますが、はたしてうまくいくかどうか…。

また、こういったものの需要はありそうでしょうか。(需要があるなら、ちょっと多めに時間を割いてみようかという気になるので。)

Average of ratings: -
In reply to Takayuki ISHIKAWA

Re: course scraper

by Tatsuya Shirai -

 そのコースの内容次第だと思います.

 簡単かどうかは別として,1CD-LinuxにMoodleとmoodledataをインストールしてスタンドアローンで動かすことは可能ですね.ゲストでもログインできるコースにし,コースデータをエクスポート/インポートすれば.

In reply to Takayuki ISHIKAWA

Re: course scraper

by Tatsuya Shirai -

 もし,コースの内容がリソースのみであるならば,比較的簡単ですけれどもチャレンジングな機能で,実装するのが楽しそうですね!

 レベルはいくつかあるかと思いますが,moodledata内のファイルへのリンク(pdf, word, xls, pptなどなど)ならばそれを抜き出してリンクを生成し,Webページ(Moodle内)ならばDatabaseからHTMLファイルを抜き出し,外部ウェブページへのリンクならばそのまま.

 これらをMoodleのコースに模したHTMLページに適当に再配置して自習用のWebページをエクスポートするのはできそうです.SCORMやQuiz,Lessonなどを自宅で行うのは難しいですが.

In reply to Tatsuya Shirai

Re: course scraper

by Takayuki ISHIKAWA -
Picture of Developers

返信ありがとうございます。CD 起動の Linux を用いるとすると、学生の PC での起動順序をいじってもらう必要がありそうですね。

ご指摘の通り、resources だけ取り出せればよいので、そのうち DB の中身をいじってみようと思います。

In reply to Takayuki ISHIKAWA

Re: course scraper

by Tatsuya Shirai -

 仕事をテキパキ片付けながら頭の片隅で考えていましたが,このCourse scraperという考え,とてもイイですね.今時,インターネット環境が無いなんて,という方も居るかも知れませんが,そんなことはありません.見方を変えると,単位を取得するのに参考にした授業資料としての学生自身のエビデンスにもなるので,卒業した後に仕事で困ったときに振り返り学習するのにも使えますね.もちろん,授業コンテンツが外部に流出することにより生じる問題(があるならば)は考慮しなくてはいけないかも知れません.

 また,出力するMoodleのコースを模したWebページがシンプルなものであるのならば,携帯電話に保存して閲覧することもできる? いまフッと思い立って試してみました.fs_moodleのフォーラムダンプ機能(フォーラムの特定のディスカッショントピックス全体をWebページとしてエクスポートする機能)を使ってエクスポートしたWebページ(CSS,添付のPDFファイルも含む)を携帯電話のメモリにコピーし,そのWebページを携帯電話上でクリックしたら自動的にブラウザが起動しました.添付ファイルのPDFファイルも閲覧可能でした.(Softbank 922SH) できますね.ちょっと鳥肌が立ちました.凄いですね,日本の携帯電話は.

 このアイデアはとても高い戦闘力を持ちますよ! 是非とも一日も早く実装して下さい.

In reply to Tatsuya Shirai

Re: course scraper

by Haruhiko Okumura -
出遅れました。おもしろそうですね!

Moodlestickというのがそれかと思いましたがちょっと違うようですね。

インタラクティブでなくていいなら wget -m で再帰的にミラーリングすればいい?
In reply to Haruhiko Okumura

Re: course scraper

by Tatsuya Shirai -

MoodleStick,これはUSBで動作するMoodleですね.なるほど,これも一つの選択肢ですね.

本サイトの特定のコースのデータをエクスポートして,それをこのMoodleStickにインポートし,そのUSBのデータを配布すれば良いのでしょうか.どういうメカニズムでMoodleStickが動くのか,まだ理解していません.

USBにVMware等の仮想PC環境を入れて持ち歩くこと自体は既に非現実的な話ではなくなりましたので,VMWarePlayerなどがインストールしないでも実行できれば(できる?),それも一つの解決方法ですね.

それとは別に,コースのコンテンツを単純なWebページとして(リソースだけでも)軽量かつセンス良くエクスポートできれば,前述のように携帯電話でも閲覧できると思いますので,とても魅力的です.

企業で用いる場合など,エクスポートする権限を一般のユーザ(社員)にも許せば,毎朝,営業に出る前にコース上のコンテンツをUSBや携帯電話にエクスポートして行く,というスタイルも想定できますね.

今のところ,フォーラムダンプの機能はフォーラム上の特定のディスカッショントピックスのみを対象としていますが,同じ技術を使って意外と簡単にフォーラム単位でエクスポートすることもできるでしょう.そうすればリソースに加えてフォーラムの情報も持ち出せる.Wikiのエクスポート(Webページ化)も可能ですから,うまく連携させればこれも持ち出せる.

#ここで言うエクスポートは単純なWebページに変換できるという意味です.XMLファイルでエクスポートして他のコースにインポートできる,というバックアップ形式へのエクスポートではありません.

In reply to Tatsuya Shirai

Re: course scraper

by Tatsuya Shirai -

 Course Scraperの機能ですが、ブロックとして製作したら全世界に向けて公開できますね(その後の責任も伴いますが)。

 資金に余裕があれば、外部委託して製作していただく手もあります。どなたか。。。?

In reply to Tatsuya Shirai

Re: course scraper

by Takayuki ISHIKAWA -
Picture of Developers
block として作ると、責任が大きそうですね。現在の moodle 公式 release が 1.9.7+ なので、これに対応するとなると PHP は 4 も 5 も対応することになり、大変かも知れません。さすがに私は手が出せません…。
In reply to Haruhiko Okumura

Re: course scraper

by Takayuki ISHIKAWA -
Picture of Developers

wget --http-user --http-passwd で試してみましたが、login 画面しか取得できませんでした。画面遷移を伴う login を wget で行う方法はありますでしょうか?

あと、Ruby の mechanize を使う方法も考えましたが、mechanize をあまりちゃんと触ったことがないので、まだ悩んでいます。

In reply to Takayuki ISHIKAWA

Re: course scraper

by Haruhiko Okumura -
特定のコースの中だけということですよね。

一時的にそのコースをログイン不要にしてwgetするか,あるいはログインした状態のクッキーをwgetに渡す(セッションハイジャック smile )ということとかできそうです。
In reply to Takayuki ISHIKAWA

Re: course scraper

by Takayuki ISHIKAWA -
Picture of Developers

この話題、しばらく放置していてすみません。ちょっと考えを整理しました。

  • 学習者が使う scraper (HTTP でのみ resources を取り出せる)
  • 教師が使う scraper (course 設定を変更したり backup をとったりできる)
  • 管理者が使う scraper (MySQL を直接操作できる)

上に行くほど汎用性が高いのですが、wget などを使うとなるとどうも教師権限が必要になるようですので、教師権限に焦点を当てて考えたいと思います。

そうすると…HTTP をわざわざ使わなくても backup file をそのまま静的 resources に変換できればそれが楽なような気がしてきました。そのうち何か成果が出たらまた報告します。(最近は学内業務が忙しくてそれどころでなくなってきています…。)

In reply to Takayuki ISHIKAWA

Re: course scraper

by Tatsuya Shirai -

 いえいえ,ゆっくりとお待ちしております.

 素朴な疑問です.course scraperという言葉はテクニカルタームですか? それとも石川先生の創案でしょうか? この発想,とても気に入っており,時々,頭の中で考えたり他の人と情報交換する際に,ちょっと気になったものでして.

 今回は,バックアップファイルをオフラインで(ですよね?)変換してはどうかというアイデアですよね.確かに.サーバ側でさまざまな変換を行ってそれをZIP書庫作成,それをダウンロードするとしますと,かなりサーバに負担を掛けることになります.程度次第ではありますが,音声データが沢山あるコースですと,学生50名が定期試験前に一斉に処理を行うとサーバに気の毒ですね...教師が先にコンテンツを抜き出して,学生はそれをダウンロードすれば良いのではありますが.

In reply to Tatsuya Shirai

Re: course scraper

by Takayuki ISHIKAWA -
Picture of Developers

course scraper という言葉は私の造語です。元々 web scraping という言葉があるので、これに倣って course scraping をする program という意味でつけました。

In reply to Takayuki ISHIKAWA

Re: course scraper

by Tatsuya Shirai -

 了解しました.

 確かに,Web scraperも含めて,スクレーピングという概念が存在するのですね.不勉強でした.なんとなくscraperには,こそぎ落として剥ぎ取る(=捨てる)といったイメージがあったのですが,抽出するというニュアンスなのですね.