見出し画像

電子書籍作成のお供にデータ収集プログラム

電子書籍に限った話ではありませんが、何らかの本を作る際にはデータ集めが欠かせません。

データ収集のお供に小規模プログラム

いまだとWeb上にいろいろ情報が掲載されていますが、そのまま利用すると問題があるのと、他のデータと組み合わせて「より詳しいデータ」に仕立て上げるのがふつうです。

複数のデータを突き合わせてみたら矛盾があった、といった「発見」があるかもしれません。そうした発見は新たな視点を与えてくれることでしょう。何にしても、実際に収集して確認してみるまでわからないことはたくさんあります。

そのために、ちょっとした使い捨てのプログラムを作ってデータ収集を行うことがよくあります。

先日アップデート版を出した電子書籍「戦場の絆 僕らの15年戦争」では、Webからのデータ収集のために何本かのAppleScriptのプログラムを組んで利用しています。

ゲームの引用元となっている作品の種別紹介と、年ごとのガンプラ新製品の発表数の推移をグラフ化してコラムとして掲載。これだけのために、プログラムを用意してバンダイのWebサイトから製品情報をまるごと引っこ抜いています

「元になっている作品/ゲームなど」という見開きのコラムページのために、バンダイが出してきたガンプラの各年の新製品数をグラフ化することを企画。ごくごく小さなグラフですが、ガンプラのすべての製品名や各種データを製品ページから取得する必要があります。

表計算アプリ(Numbers)上でグラフを作成

Webブラウザを操作してサイト上のデータを取り出すのは、普通に人間がWebブラウザを操作するのと見分けがつかないため、Webサーバ側からはガードしにくく、手っ取り早くデータ収集を行えます(汎用のWebクローラーもありそうですが……)。

そして、そのデータをそのまま掲載すると著作権的な問題もありますが、発売年ごとにグラフ化すれば、全体的な傾向もわかりますし、グラフの掲載についてはとやかく言われるものではありません。本当に実際に数えているわけですし(プログラムが)。

各年の「新製品数」をグラフ化するためには、すべての年のすべての新製品のデータを取得する必要があるが、それをすべて見せられても大変なので、グラフにまとめた。はからずしも、メーカーのWebサイトのデータに不備があることが分かってしまった

かくして、表とかグラフ1つあたりにWebデータ収集プログラムが活躍し、複数のデータを組み合わせて掲載しているのです。

「戦場の絆」公式Webサイト、1ページから各種情報を取得するクローラーAppleScript

▲各MSの搭乗回数を取得するクローラーAppleScriptの動作時の画面。ゲームセンターに出撃するたびに、MSの登場回数をかぞえて自分のMS搭乗ランキングを計算してSNSに掲載していた

「登場モビルスーツ一覧」の元データベース。複数ソースの公開情報を組み合わせたデータ。
公式Webサイトの公開情報ほか、さまざまな場所の公開情報をクローラーで収集し、組み合わせてデータ掲載。この表自体もAppleScriptによるプログラムで作成しているため、手作業は行なっていない
「戦場の絆」稼働店舗一覧取得AppleScriptによって、サービス終了前の1週間ごとの推移を取得していたが、確実に稼働数が減っている状況が分かっただけで、あまり得るものがなかったのでそこまでのデータは掲載しなかった

この記事が気に入ったらサポートをしてみませんか?