<< レコボットもどき | main | PHPによるレコボットもどき実装 >>

2007.02.21 Wednesday

PHPバージョンのレコボットもどき

気になったので調べてみたら、
PHPでもreferrerが取得できることが分かりました。
--

PHPでreferrerを取得するには、
環境変数の'HTTP_REFERER'をgetenv()関数の引数に指定するだけです。
referrerが含まれれば、文字列、例えば、
$referrer = 'http://www.google.co.jp/search?client=opera&rls=ja&q=xrea+php+%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB&sourceid=opera&ie=utf-8&oe=utf-8';

なんて感じで取得できるわけです。

あとは、Javascriptよりは、ちょっとだけリッチな文字列操作関数群を使えば、簡単に目的のキーワードが取得できます。
例えば、
$referrer_array = split('[?&]',$referrer);
$array_max = count($referrer_array);
for($i=0;$i<$array_max;$i++)
{
print $referrer_array[$i]."<br>";
}

とすれば、
http://www.google.co.jp/search
client=opera
rls=ja
q=xrea+php+%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB
sourceid=opera
ie=utf-8
oe=utf-8

といった具合に分割できるので、解析も容易です。
splitがあり、しかも、デリミタに正規表現が使えるので、一発です。

検索キーワードが取得できてしまえば、あとは、Javascriptでやったのと同じです。

PHPのほうが、携帯電話などJavascriptに対応していない端末からのアクセスやPCでもユーザーがJavascriptを切っていても処理できるので、処理としては安定してますから、こっちのほうがいいですね。

--

テクノラティお気に入りに追加する

Comments

コメント入力は停止しています

海外からと思われるコメントスパムが横行しているため、全記事のコメント入力を停止しています。メッセージのある方は、ホームページの一番下に連絡欄がありますので、そちらからお願いします。

Trackback URL

トラックバックする場合は、
トラックバック元の記事にこのエントリへのリンクを記載してください
このエントリのタイトル「PHPバージョンのレコボットもどき」
このエントリのリンク「http://kommy.s254.xrea.com/blog/log/eid12.html」