世界のニュースをgoogleMapで表示。WorldNewsを作りました



worldNews
http://kasei-san.sakura.ne.jp/rabo/worldNews/ (Opera or Firefox推奨 IE7だと、やたら重いです…)

これは何?

googleMapAPIの習作で作ったニュース表示サービスです
CNN.jpのワールドニュースから1日1回情報を取ってきて、それを元に、googleMapに表示します
暇つぶしに眺めると地味に楽しいです

どうやったか

1日1回、サーバ側で、Web::Scraperを使って、URL、タイトル、本文、写真のURLを取得してます
それから、Yahoo!形態素解析APIを使って、本文から地名情報を取得してます
んで、取得した全ての地名に対して、googleMapのジオコーディングのAPIを使って、座標と、国名を取得して、
一番書かれている国名を見つけて、さらに、その国名の都市の地名がでている場合、
その中で一番書かれている都市名を、ニュースの発生場所と判断してます

技術メモ

googleMapのジオコーディングのAPIについて
  • 割と不安定。おんなじ国名で検索しても引っかかんなかったり、引っかかったりする
  • 政治的に微妙な地域は、国名が出てこない。台湾とか
  • パレスチナも引っかからない。ガザ地区ガザ地区という国扱いになっている
Yahoo!形態素解析APIについて
  • カブールが地名ではなく、外国人姓で辞書登録されている
  • ロシア軍が、1単語で登録されている。(他の国は国名と軍は別単語なのに…)
  • アフガンとかサウジとかの略称もわかってくれないので、調整が必要

使ったサービス


それぞれの作者に感謝!

その他

  • なんでAPI公開していないCNNを使っちゃったのか…
    • 気が向いたら、livedoorとかAPIを公開しているサービスに切り替えます(怒られないように)
  • 2009/2/1修正済みIE7だと、やたら重い不具合のと、表示が狂う不具合をそのうち直す

2009/2/1 追記

  • IE7で重いのは仕様っぽかったので、多少マシになるように修正
    • 具体的には、IE7だったら、フキダシ表示時に自動的に移動するのではなく、MAPの中心を変更するように修正
      • そうする事でやたら重い、MAPの移動処理をカットできるので
  • 実は正常に動いてなかったcronを毎朝5時に動くよう修正


そんなかんじー