WebService::Google::Suggest
DESCRIPTION
Google Suggestを強引にAPIとして利用できる。キーワードを渡すと結果のハッシュが帰ってくる。
SYNOPSYS
use strict; use warnings; use Perl6::Say; use WebService::Google::Suggest; my $suggest = WebService::Google::Suggest->new; # 日本語Googleを利用する $WebService::Google::Suggest::CompleteURL = "http://www.google.com/complete/search?hl=ja&js=true&qu="; my @suggestions = $suggest->complete(shift); for my $suggestion (@suggestions) { say "$suggestion->{query}: $suggestion->{results} results"; }
実行結果
$ perl webservice_google_suggest.pl perl perl: 0 results perl 正規表現: 0 results perl split: 0 results perl 配列: 0 results perl 入門: 0 results perl open: 0 results perl cgi: 0 results perl 置換: 0 results perl foreach: 0 results perl リファレンス: 0 results $ perl webservice_google_suggest.pl lucky lucky star: 0 results lucky: 0 results lucky soul: 0 results lucky☆star: 0 results lucky star torrent: 0 results lucky strike: 0 results lucky channel: 0 results luckystar: 0 results lucky☆star ravish romance: 0 results lucky13: 0 results
MEMO
日本語版Googleを利用できるようにプチハックしたらresultsの数がおかしくなりました。http://www.google.com/complete/search?hl=ja&js=true&qu=luckyの返してるjsが
window.google.ac.sendRPCDone(frameElement, "lucky", new Array("lucky star", "lucky", "lucky soul", "lucky☆star", "lucky star torrent", "lucky strike", "lucky channel", "luckystar", "lucky☆star ravish romance", "lucky13"), new Array("18,500,000 結果", "131,000,000 結果", "3,170,000 結果", "19,200,000 結果", "958,000 結果", "1,910,000 結果", "3,360,000 結果", "774,000 結果", "15,900 結果", "220,000 結果"), new Array(""));
とかで、日本語混じってるからだな。