簡単な大学の学年暦APIを作ったのでその報告です.
https://ritsucal.hrgruri.com です
大学と大学院(情報理工学研究科)の学年暦をJSONで取得できるという簡単なものです. 使い方はドキュメントを見てもらえればいいかと.
検索機能ですが,そのうちsince, untilができるようにはしたいと思います
簡単な大学の学年暦APIを作ったのでその報告です.
https://ritsucal.hrgruri.com です
大学と大学院(情報理工学研究科)の学年暦をJSONで取得できるという簡単なものです. 使い方はドキュメントを見てもらえればいいかと.
検索機能ですが,そのうちsince, untilができるようにはしたいと思います
大学の行事をJSONで返してくれるようなものを作ろうとしていた時に気づいた弊大学の闇を話したいと思います.
PHPを使って学年暦をスクレイピングするライブラリに行事の検索機能を追加しようとしていました. 検索機能と言っても年・月・日を連想配列で渡すと該当の行事が配列で帰ってくる簡単なものです.
引数の型が指定できるので\Hrgruri\Ritsucal\Calendar
型とarray
型を引数にしてメソッドを作りました. 学部の学年暦と今日の日付でテストをするとTypeError. 型が違うというエラー. 該当するクラスを見に行くとあるのはsrc/Calender.php
.
Calender.php ?
CalendarではなくCalender. ちなみにCalenderは光沢機のこと.
タイプミス? やってしまったと思い, 置換しようと「calender」で検索すると
private $url = 'http://www.ritsumei.ac.jp/profile/info/calender/';
までヒットした.
ブラウザで確認したところ
http://www.ritsumei.ac.jp/profile/info/calender/ は存在しているが,
http://www.ritsumei.ac.jp/profile/info/calendar/ は存在していない.
大学側も間違えていた. 学年暦のページが光沢機(calender)になっている.
そもそも大学側が間違えていたので, 私が間違えたのは大学のせいである. むしろ間違いに合わせているので,私は間違えていない
英語の綴りは確かめましょう. Googleで「学年暦」と検索して1番上に来るような弊大学のホームページだからといって間違いがないとは思ってはいけない.
そして弊大学の学年暦は光沢機
先生「創成3で作ってもらったサイトをオープンキャンパスで見せようと思う」
私「あっ,はい. ちゃんとしたコードに直したかったので, 修正したら渡します」
先生「それなんだけどね, 今のままだと書籍だけで見た感じが微妙だから絵も推薦できるようにして. 7月末までにしておいてね」
こんなわけで,前に作ったサイトの見た目をとかを修正するだけだったつもりが, 先生からのお願い(?)で推薦対象となるカテゴリーを増やすことになりました.
追加することになったのは浮世絵. 浮世絵のログは抽出してDBに保存していなかったので,もう一度アクセスログの解析をすることになりました. クローラなどのログはすでに落としてあるのがあったと思うので,そこからもう一度.
I Love PHP なのでもちろんPHPを使います. スクレイピングもPHPです. スクレイピングのコードも前まではクラスを作ってそれを使っていただけだったのですが, 今回はComposerでインストールして使えるようにして公開したいと思います.
実行環境は,今日,研究室に立てたUbuntu Serverを使おうかなと. 開発段階では研究室のみからアクセスできるようにしておけばいい. オープンキャンパスの時のみ,大学のIPだけを通すようにするとか考えたが... 前回と同様にデータを先生に渡すだけになるのかな
@hrgruri
主にPHPを触っています.