Own products

  • 新規事業のアイディア創造機

Tutorial

2014
01/31

PHPでGoogle検索1位のURLを自動的に取得する方法

この記事の読了時間:約241

  • このエントリーをはてなブックマークに追加

例えば、名詞や単語のリストが山ほどあって、それぞれの代表的なサイトにリンクさせたいんだけど、それらのURLをひとつずつ手作業で調べるのは現実的じゃない場合。

つまるところ、あるキーワードに対して「Google検索結果1位のサイトのURL」を取得してほにゃららしたいっ!って時の方法 by PHPを、メモがてらにご紹介♪

ただしこの方法は検索サイト側の利用規約に対してグレーな使い方ですので、クライアントワークでの使用を控え趣味程度に収めるなど、ご利用は自己責任にてお願い致します。

んでは、いきまっかー!

Google検索1位のURLを自動的に取得する方法

まずはじめに、処理の流れとしてはフツーに検索結果をスクレイピングするだけなんですが、素直にGoogleからfile_get_contents()とかで直接取ろうとすると、Google側からハネられたり通ったり、挙動が安定しません。

では、どうすれば。。。

それではさっそく、下記コードをご鑑賞下さい。

$target_str = '文字化け解読';
$url = 'http://search.yahoo.co.jp/search?p='.urlencode($str);
$data = mb_convert_encoding(file_get_contents($url), "utf8", "auto");
$data = str_replace(array("\r\n","\r","\n"), '', $data);
$data = explode('<div id="web">', $data);
$data = str_replace(array('<b>', '</b>'), '', $data[1]);
preg_match("/<li><a href=\"(.+?)\">(.+?)<\/a>/", $data, $match);
$top_site_url = $match[1];

echo $top_site_url;
// 結果 http://lab.kiki-verb.com/mojibakeratta/

さて皆さん、2行目をよーくご確認下さい。。。

そう!これこそ最大のポイント、「Yahoo!JAPANから引っ張ってくる」ってトコ!

現在Yahoo!JAPANは検索エンジンをGoogleから借りているため、結果は同じ。でもこっちはハネない!素敵!抱いて!HOLD ON ME!もいちど好きって(ry

迂回策的にYahoo!から検索結果の全体を取得 → 1位の部分の全体を抽出 → URLの部分を抽出 って流れで、あとはお好きにあーだーこーだしちゃってください☆

手持ちのサービスで確実な検索1位の語彙を探すのに苦労したのはナイショやで!
  • このエントリーをはてなブックマークに追加

コメントを投稿する

お名前

ご連絡先メールアドレス※非公開

コメント

CAPTCHA


  • このブログのRSSを購読する
  • このブログをtwitterでつぶやく
  • このブログをFacebookで共有する
  • このブログをはてなブックマークで共有する

Favorite feeds

    Contact

    お名前※必須

    ご連絡先メールアドレス

    お問い合わせ内容※必須

    CAPTCHA

    captcha

    Blog parts

    Affiliate