IPA(情報処理推進機構)の過去問題PDFを一括ダウンロードする(wget)

毛利です。


そろそろプロジェクトマネージャ試験(PM)の勉強しないといけないですね。(そーですね)

他にも勉強したいことがあるからあまり労力を掛けたくない(けど確実に合格したい)ので、こちら(↓)のように出題傾向など調べてみようかなと思ったり。

基本情報処理技術者試験の内容がこんな感じで分類されてます。

01 基数変換・文字コード・情報落ち
02 論理演算・シフト演算
03 中央処理装置
04 磁気ディスク
05 入出力装置・インターフェース
06 記憶階層・メモリ
07 ネットワーク
08 プログラム設計・システムテスト
09 プログラム言語
10 オペレーティングシステム
11 システムの構成・性能評価・稼働率
12 ファイル・データベース
13 アルゴリズム・チェックディジット
14 セキュリティ・著作権法
15 システム開発
16 売上高・利益などの計算
99 その他


一応、平成22年度の出題動向は持ってる本に書いてあった。(内容はまたそのうち)

2011 プロジェクトマネージャ予想問題集 (情報処理技術者試験対策書)

2011 プロジェクトマネージャ予想問題集 (情報処理技術者試験対策書)


平成21年度以降も調べてみようという試み。
過去問はダウンロードしてあったのだけど、その時は手動で一つ一つクリックしたので一括でダウンロードする方法を探ってみたのでエントリー。

コマンドラインで取得する

GUI ツールもあると思うのだけど、コマンドラインで取得する方法を調査。

  • 前提条件:wget インストール済み(Snow Leopard はプリインストール?)
$ mkdir -p /tmp/$(date '+%Y%m%d') && cd /tmp/$(date '+%Y%m%d')
$ pwd
/tmp/20110511
$ wget -r -nd -I /1_04hanni_sukiru -A .pdf http://www.jitec.ipa.go.jp
$ ls
2004h16a_ad_am_ans.pdf          2006h18h_es_am_ans.pdf          2008h20h_fe_pm_qs.pdf
2004h16a_ad_am_qs.pdf           2006h18h_es_am_qs.pdf           2008h20h_haiten.pdf
(略)

こんだけかよw(手動で一つ一つクリックとか何やってんだ)

wget のオプション

詳しくはこちらを。

【 wget 】 ファイルをダウンロードする - Linuxコマンド集:ITpro

-r
再帰(ごっそりって感じ)
-nd
ディレクトリを作らずダウンロード
-I /1_04hanni_sukiru
ダウンロードするディレクトリを指定(PDFはこのディレクトリ(1_04hanni_sukiru)にまとめられてるようなのは調べた)
-A .pdf
".pdf" をファイル名に含む
http
//www.jitec.ipa.go.jp:URL指定

余談:-A のワイルドカード指定がよく分からない

PMのファイルに絞るため、以下のワイルドカードを指定してみたけど、"_anpmae,_koudo,_haiten" が落ちてくれない。なんでだろ。

$ wget -r -nd -I /1_04hanni_sukiru -A *{_pm_[ap]m,_anpmae,_koudo,_haiten}*.pdf http://www.jitec.ipa.go.jp
$ ls *haiten*
ls: *haiten*: No such file or directory
$ wget -r -nd -I /1_04hanni_sukiru -A *haiten*.pdf http://www.jitec.ipa.go.jp
$ ls *haiten*
2004h16a_haiten.pdf     2005h17h_haiten.pdf     2007h19a_haiten.pdf
(略)

全てダウンロードしたディレクトリでの ls では OK。

$ ls *{_pm_[ap]m,_anpmae,_koudo,_haiten}*.pdf
2004h16a_anpmae_am_ans.pdf      2006h18a_pm_pm2_qs.pdf          2009h21h_koudo_am1_ans.pdf
2004h16a_haiten.pdf             2006h18h_haiten.pdf             2009h21h_koudo_am1_qs.pdf
(略)

うーん。。。

今回勉強になったこと

Perl の LWP(libwww-perl)に興味出た。(知らなかった)

Webクライアントプログラミング

Webクライアントプログラミング


ではでは。