command
wget
Linuxコマンド
UNIXコマンド

[wget] 情報処理技術者試験の過去問を一括ダウンロードする

IPAの情報処理技術者試験、2018年春期の受付が始まりましたね。
受験予定のみなさん、手続きは済みましたか?僕はエンベデッドシステムスペシャリストを受けます。
過去問がたくさん公開されてて有難いのですが、いっこずつ手動でダウンロードするのは、ちょっと面倒です。
そこで今回は、wgetを使って一括ダウンロードしたいと思います。

情報処理技術者試験 過去問題

IPA 情報処理技術者試験センター Webサイト
トップページ右側にあるリンクから、「過去問題」のページにアクセスできます。

そこからさらに、→「平成00年度〇期試験…」→「問題/解答/講評」と2階層リンクを辿ると、過去問(解答・講評)のPDFファイルがあることが分かります。

PDFファイル名のフォーマット

(西暦4桁)h(平成2桁)(h:春/a:秋)_(試験区分)_(時間区分)_(qs:問題/ans:解答/cmnt:講評).pdf
という形式になっているようです。

例えば「2017年度春期のエンベデッドシステムスペシャリスト(ES)午後IIの問題」は、
2017h29h_es_pm2_qs.pdf ですね。

高度共通午前Iは、試験区分の部分が_koudo_となっているようです。

wget

とりあえず今回は、午前Iを除くエンベデットシステムの問題・解答・講評をまとめてwgetすることにします。
$wget (URL) -r -np -l 2 -w 1 -A '*_es_*.pdf'

これでOK、楽ちんです。

コマンド解説

wget : WebサーバからファイルをダウンロードするUNIX/Linuxコマンド。詳細は $wget --help
(URL): ここに「過去問題」ページのURLを入れる
-r : 再帰的にダウンロードする
-np : 親ディレクトリを取得対象にしない
-l 2 : 再帰ダウンロードする深さを2階層に指定
-w 1 : サーバへの負荷軽減のため、ダウンロード毎に1秒待つ
-A '*_es_*.pdf': ダウンロードするファイル名をフィルタ。*はワイルドカード

さいごに

  • IPA 試験センターのWebサイトおよび過去問については、サイト内の利用条件を守って利用しましょう。
  • Qiitaの練習を兼ねた投稿でした。もし内容に問題や間違い等あれば、ご指摘頂けたら嬉しいです。
  • 試験がんばろうぜ!