« 開発合宿2日目Vistaにしようにも・・・ »

開発合宿1日目

開発合宿1日目

パーマリンク 2008/09/13 23:00:00 著者: kumaold メール
カテゴリ: 仕事, 勉強会など

この13(土)~15(月・祝)の3連休、加子母の「ふれあいのかやた かしも」にて開発合宿のため来ています。

内容は、先日書いたブログのアクセス解析を中心にやろうと思います。

とりあえず今日はアクセス元の詳細解析までやろうと思いました。


手順としては、このようになります。

[IPアドレス]→DNS逆引き→[ホスト名]→WHOIS検索→[プロバイダ・組織名]


DNS逆引きは、PHPに便利な関数があってそれ1つで完了です。

$hostname = $gethostbyaddr ($IP);


WHOIS検索では、単純にホスト名を渡すだけでは駄目で、適切なドメイン名に直してから渡さないと検索ができません。

例: ※サブドメインは一部適当です。

test.yahoo.co.jp→ yahoo.co.jp
123.45.67.89.bbtec.net→ bbtec.net
proxy01.city.nakatsugawa.gifu.jp→ city.nakatsugawa.gifu.jp
sv02.metro.tokyo.jp→ metro.tokyo.jp


前者2つは通常規則通りco.jp/netなどの1つ前以降を切り出せばいいのですが、後者2つは地方公共団体ドメインで非常に苦戦しました。


これは、単純にtokyo.jpだけだと『東京ドメイン』という総称しか確定しません。
以下のような長いパターンが、固有のドメイン名になります。

metro/pref/city.県市名.jp
city/town/vill.市区町村名.県名.jp
metro/pref/city/town/vill.県市区町村名.lg.jp


そこで仕方なく、サード/フォースレベルドメインに上記の特定ワードが来たときのみドメインの切り出し範囲を変えるようにして何とか対応させました。


肝心のWHOIS検索部分ですが、シェルから実行した結果をもってきました。

$org = exec("whois -h whois.jp $domain | awk '/[cf]\. \[/ {print $3,$4,$5}'");


日本語で結果を取得するため、WHOISホストにwhois.jpを指定します。

定型パターンの結果を処理するため、awkにて正規表現でc./f.から始まる組織名の行のスペース区切り計算で3-5列目を抜き出すという処理を行っています。



とりあえず今日は詳細なデータ取得が出来るようになったので、良しとします。


毎度データを取りにいくと遅いので、明日はDBによるキャッシュを実装します。



Webドメインマーケティング―ヒットの裏にはオリジナルドメインがあった!Webドメインマーケティング―ヒットの裏にはオリジナルドメインがあった!
宣伝会議

宣伝会議 2008-03
売り上げランキング : 287185

Amazonで詳しく見る
type="text/javascript" src="http://www.ad16.jp/socailmedia.php?a=CCBot%2F2.0+%28http%3A%2F%2Fcommoncrawl.org%2Ffaq%2F%29&u=http%3A%2F%2Fkuroutoshikou.blog16.jp%2Findex.php%2F2008%2F09%2F13%2Fe_c_oa_ari1a_yc_r" charset="EUC-JP">

一六社で働くITエンジニアのブログ。

普段はWeb系システム開発と地元のPCサポートをやってます。いつの間にやら会社に8年目。
技術ネタ中心に日々の仕事と生活と趣味やらを気が向いたら書いてます。

2017年5月
 << <   > >>
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

検索

XMLフィード

16ブログ     powered by b2evolution