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

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

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

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

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

棋士データベース

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

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

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

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

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

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

この記事を書いた人

ko31

電王戦をきっかけに20年ぶり以上に将棋熱が再燃した、観たり指したりするのが好きなヘボ将棋ファン。
群馬在住繋がりで藤井九段の本で振り飛車勉強中ですが、根っからの三日坊主につき&頭の回転が悪くなかなか棋力が向上しません。将棋ウォーズによく出没しています。
>>詳しいプロフィールはこちら