Google検索一位のサイトを列挙する

googletop.png

変数名とか、データベースのフィールド名とかで、アルファベットとハイフンのみで名前を作らないといけないことがあります。
一個二個だったら真面目に考えるのですが、ある数を超えるとかなり面倒になってきます。

"マクドナルド","ミスタードーナツ","モスバーガー"→"mcdonalds","misterdonut","mosburger"

こういう時、Googleに「マクドナルド」と渡せば、まず確実に"http://www.mcdonalds.co.jp/"が1位にでますから、そこからwwwとco.jpを外せば、おおよそ正しい綴りの名前を作ることが出来ますよね。残る問題は、100個あるのをいちいちGoogle検索するのか、という問題で。そんなのはコンピュータがやればいい。

というわけで、さくっと書いてみたphpスクリプト。$keywordsにある文字列をGoogle検索して、それぞれ1位の検索結果のURLをリストにして表示します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Google一位検索</title>
</head>
<body>
<?php

$keywords = array(
	'マクドナルド',
	'ミスタードーナツ',
	'モスバーガー'
);

$results = array();
foreach($keywords as $keyword){
	$url = "http://www.google.co.jp/search?hl=ja&lr=lang_ja&q=";
	$url .= urlencode($keyword);
	$html = file_get_contents($url);
	#$html = mb_convert_encoding($html,'UTF-8','UTF-8');
	 
	preg_match('/<a href="([^"]+)" class=l>/',$html,$link);
	$results[$keyword] = $link[1];
}

print "<ul>";
foreach($results as $key=>$value){
	print "<li>$key => $value</li>";
}
print "</ul>";
?>
</body>
</html>

入力した単語を変数名にするWEBサービス、とか考えたのですが、あんまり実用的じゃない気がするので、とりあえず作ってみたソースだけ公開してみます。なんかおもしろい使い途があったら自由に使っていただいて結構です。

トラックバック(0)

このブログ記事を参照しているブログ一覧: Google検索一位のサイトを列挙する

このブログ記事に対するトラックバックURL: http://mogya.com/mt/mt-tb.cgi/737

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、 もぎゃが 2009年5月26日 08:24に書いたブログ記事です。

ひとつ前のブログ記事は「 iphoneと他の携帯の併用 」です。

次のブログ記事は「 [ruby]「嶽」の文字化け問題 」です。

最近のコンテンツは インデックスページ で見られます。過去に書かれたものは アーカイブのページ で見られます。

Powered by
Movable Type