IPから都道府県を識別できるどこどこAPI(有料)

Posted on 7月 24, 2007. Filed under: API, 地図 |

どこどこAPI :どこどこJP

どこどこJPはアクセスユーザーの都道府県認識を行うASPサービスですが、このIPGeolocation技術をWebAPIとして公開したのがどこどこAPIです。

ページにアクセスすると左上のロゴが都道府県別に変化するがこの技術を使ったもののようだ。

月間30万アクセスで10500円の有料サービスだが、お試しサービスもあって1ヶ月間(10万アクセスまで)無料で使える。

IPアドレスを指定するシンプルなREST。出力はJSON形式だがデータは1つしか返らない。APIは2種類あり、都道府県を示すコードか、接続回線(ADSLや光)の名称を取得できる。APIへのアクセス数が増えるだけなので1つにまとめて欲しいところ。

地域認識技術について:どこどこJP
ここによると、ISPの中には地域が識別できないIPを出しているところもあるらしい。

apacheのアクセスログを解析にかけるコードを書いてみた。ただ、こういった大量アクセスするような使い方は料金体系的にも負荷的にも向いていない。

<?php
$api1 = 'http://s01.docodoco.jp/enterprise_j.api?id=***&ipadr=';
$api2 = 'http://s01.docodoco.jp/stream_j.api?id=***&ipadr=';

$fp = fopen($argv[1], 'r');
if (!$fp) {
    die("cannot open file.\\n");
}
$max = 100;
$region = array();
$line = array();
while (1) {
    $buf = fgets($fp);
    if ($buf == '') {
        break;
    }
    $idx = strpos($buf, ' ');
    $ip = substr($buf, 0, $idx);
    echo $ip . "\\n";

    $data = json_decode(file_get_contents($api1 . $ip));
    isset($region[$data->region]) ? $region[$data->region]++ : $region[$data->region] = 1;

    $data = json_decode(file_get_contents($api2 . $ip));
    isset($line[$data->line]) ? $line[$data->line]++ : $line[$data->line] = 1;
    $max--;
    if ($max == 0) {
        break;
    }
}
fclose($fp);

asort($region);
asort($line);
print_r($region);
print_r($line);

PHP5.2以降に付属しているjson_decodeを使っている。

広告

Make a Comment

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

Liked it here?
Why not try sites on the blogroll...

%d人のブロガーが「いいね」をつけました。