読者です 読者をやめる 読者になる 読者になる

Google Suggestでどんな言葉が一緒に検索されるかを調べる

perl google

Perlでそんなことができるものを作ってみた。

#!/usr/bin/env perl
use strict;
use warnings;

use URI;
use LWP::UserAgent;
use JSON qw(decode_json);
use Encode;

my $query = shift @ARGV or die "Usage suggest.pl query\n";

my $uri = URI->new("http://clients1.google.co.jp/complete/search");
$uri->query_form(
    hl => 'ja',
    json => 't',
    q  => $query,
);

my $ua = LWP::UserAgent->new();
$ua->agent("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)");

my $response = $ua->get($uri);
if ($response->is_error) {
    die "Can't download ", $uri->as_string, "\n";
}

my $suggest = JSON::from_json($response->decoded_content);

my ($suggests, $hits) = ($suggest->[1], $suggest->[2]);

my $lenght = scalar @{$suggests};
foreach my $i ( 0..($lenght-1) ) {
    printf "[%s] hits %s\n",
        encode_utf8($suggests->[$i]), encode_utf8($hits->[$i]);
}

実行してみた。

  % perl suggest.pl タモリ
  [タモリ しょうが焼き] hits 144,000 件
  [タモリ 弔辞] hits 385,000 件
  [タモリ倶楽部 空耳アワー] hits 75,700 件
  [タモリ流豚のしょうが焼き] hits 130,000 件
  [タモリ wiki] hits 561,000 件
  [タモリ レシピ] hits 768,000 件
  [タモリ倶楽部] hits 898,000 件
  [タモリ 小田和正] hits 55,000 件
  [タモリ 目] hits 951,000 件
  [タモリカレー] hits 1,010,000 件

タモリの生姜焼きはそんなに有名だったのか。
てかタモリカレーってのもあるんですね。