[広告]

2014年6月6日金曜日

ウェブスクレイパー開発記録(1) 動機「動物園のDBを作りたい」

未完成な部分も多いけれど、ウェブスクレイパーについて現時点までで蓄積されたノウハウを記録しておきます。

来園者目線での動物園のDBを作りたい

そもそもの動機は「来園者目線での動物園DB」を作りたいと考えたことです。

自分が動物園に遊びに行くにあたっては、サプライズに期待した行き当たりばったりではなく、事前に情報を集めておいて、見たいものを重点的に見てきたいほうです。

身の回りには同じような考えの仲間もいます。

なので、ホームページのアドレス、入園料、休園日、行き方などをまとめたDBを作って仲間内で共有しておけば便利だろうと考えました。

実はWikipediaの動物園の一覧を見れば、かなりの情報が入っているのですが、私の目的には記事が多すぎて一覧性に欠けています。

むしろ、例えばMAPPLEの動物園・水族館特集のほうが、使いやすいのですが、こちらはこちらで取り上げている動物園・水族館が少なすぎます。

Wikipediaの件数で、MAPPLEの一覧性+αを持つDBがほしいのでした。

これらの情報は各園のWEBサイトを見れば入手できます。

さらにウェブスクレイパーを仕込んでおけば、何か情報が変わった場合にキャッチできるので、DBを最新の情報に保つことができるだろうと、今から思えばとんでもなく楽観的なところから、事は始まったのでした。

この時点では、自分でウェブスクレイパーを開発することになるだろうとは思ってもいませんでした。

動物園はいくつある?

Wikipediaを眺めた時点で、ああ、このくらいの数があるのかということは目視でだいたいわかっているつもりでした。

記事を真剣に数えてみると、動物園、水族館、それぞれ百数十施設があります。

その前に、動物園、水族館とは何か? といった問題があります。

日本動物園水族館協会に加盟している施設かどうか、というのは一つの基準になりえます。これだと、動物園、水族館をあわせて百数十施設になります。

ですが、この基準でいくと、カピバラを飼育している大阪のひらかたパークがDBから外れてしまいます。もちろんひらかたパークで飼育しているのはカピバラだけではありません。あくまで一例です。

ひらかたパークが入っていないDBは私としては価値半減です。ひらかたパークの入らない基準はちょっと考えられません。

突き詰めれば私的に作るDBですし、動物園とは、とか、水族館とは、とかいった堅苦しい話は抜きにして、Wikipediaの記載を元に、「自分の興味」という視点から動物園・水族館っぽい施設をピックアップしていくことにしました。

せめて、日本動物園水族館協会に加盟している施設は全部カバーしたいとは思ったのですが、例えば小田原動物園のように、WEBサイトが見つからない施設については割愛せざるを得ませんでした。

私の行動パターンとして、WEBサイトがなければその施設に物理的にたどり着けませんから。

という基準でとりまとめ対象の動物園・水族館を改めて数えたところ、ざっくりと240ほどという数字が出てきました。

DBと呼ぶにはとても小規模ですが、内容としては十分に重たく、手ごろなところかなという印象でした。

動物園・水族館のWEBサイトをさがす

こういったご時世ですから、動物園・水族館という施設ならまずWEBサイトを持っています。

それぞれの施設のWEBサイトをどうやって探すか、というところで、深い考えがあったわけではないのですが、上で数え上げた動物園・水族館の施設名をGoogleで検索し、出てきたWEBサイトを目視確認し、トップページを探すという方法にしました。

北から順に行くと、まずは札幌市円山動物園を調べることになるのですが、例えばこの施設の場合、札幌市の施設です。

独立したドメイン名を持っているわけではなく、札幌市のWEBサイトの中に円山動物園のサイトが含まれてしまっています。

URLはhttp://www.city.sapporo.jp/zoo/になります。

人間の目には、このサイトのコンテンツに見える「リンク・著作権・免責事項」も、URLを調べると「http://www.city.sapporo.jp/city/copyright/link.html」となっており、データとしては円山動物園のサイトに含まれているわけではないことになります。

後から問題になってくるのですが、たとえばウェブスパイダーとかをうかつに走らせると、こういった札幌市のWEBサイト関連のリンクを調べ上げ始め、とんでもない数のファイルがダウンロードされることになってしまったりします。また逆に、URLの階層外にあるという理由で必要なコンテンツがダウンロードされなかったりとかすることもありえます。

なので、それぞれの施設のWEBサイトの構造については、ある程度事前に自分の目で見ておく必要がありました。

こういった形で、とりあえず、施設名とWEBサイトのURLをまとめたDBの素は、一日がかりでどうにか準備ができました。

0 件のコメント:

コメントを投稿