将棋棋士データベースで遊ぶ(1)〜棋士データをスクレイピング〜

※この記事は「将棋 Advent Calendar 2016 – Adventar」の12日目です。

日本将棋連盟の Web サイトには「棋士データベース」というコンテンツがありますが、これから何回かに渡って(何回続くかは未定)このデータベースで色々遊んでみようかと思います。

棋士データをスクレイピング

棋士データベースはとても充実していて、現役棋士から物故棋士まで数多くの棋士データが蓄積されています。

例えば、羽生三冠のページはこのような感じです。

棋士データベース

ただ、情報量こそ素晴らしいですがこれから自分でいじって遊ぶには再利用性に欠けるので、ページ内のデータを使いやすい形に変換してみたいと思います。

というわけで、棋士ページから基本情報をスクレイピングして json データにするスクリプトを PHP で書いてみました。

※スクレイピングには Goutte を使っているので、スクリプトを実行するには composer require fabpot/goutte コマンドで事前にインストールしておく必要があります。

試しにこのスクリプトを実行すると、次のような形で json が取得できます。(分かりやすいように整形済み)

だいぶ扱いやすいデータになったところで、ひとまず今回はここまでです!

なお、この記事で書いたコードは GitHub に上げておきますので、ご自由にご覧ください。