試験の予定表取得プログラムの作成

学校の試験の予定表がpdfで配布されて、いちいち履修してる授業を検索して見なくちゃならなくて面倒なので、履修してる授業の一覧画面(学校のwebサイト)のから履修授業を取得して、予定表のpdfから検索して表示してくれるコマンドラインツール。
あまり役に立たない気がするけど。

Python2で作成。
https://github.com/TT375S/TestScheduleGetter

(githubに余計なファイルがアップロードされてますが、テスト用のダミーです。そういうことにしてください。)

この記事の投稿自体は2017/3/3なので忘れていることも多いですが、これ以上忘れる前に書き留めておきます。

PDFは、XMLみたいに構造を表してくれているわけではないので、テキストに直すのに難儀します。
pdf2textというアプリを使ってpdfをプレーンテキストに変換してます。
そのため、pdf2textが必要。

  1. 学校のwebサイトをチェックし、pdfへのリンク(4つ)を取得
  2. pdfをダウンロードし、pdf2textでテキストに変換
  3. 結構グチャグチャなテキストを検索しやすい形式に変換する
  4. 学校の個人用ページの履修授業一覧のhtmlソース(貼り付けて入力…)から、履修してる授業一覧を作る
  5. それを元に、さっきのpdfからテキストにしたやつから検索し、予定を一覧表示する

という流れ。だけどpdf2text、2カラムの表で配布されているpdfなのでうまく直せないところがあって一部、表示結果がおかしくなる(上下の行を取り違えている)。
pdfで配布しないでHTMLなりXMLなり、意味的な構造があるやつで配布してもらえると扱いやすいなぁと感じました。

コメント