気になる言葉ショップ

気になる言葉ショップでは、管理人のわがままで選ばれた気になる言葉ごとのオンラインショッピングコーナーを設けています。
Google Web API

Google Web API

GoogleのWebサービスは、SOAP(ソープ。元はSimple Object Access Protocolの略だが、現在ではW3Cが、何かの略でなく固有名詞と宣言しています)を使用しています。

Yomi-Searchをベースにしていたので、
Yomi-Search FAN!「Googleの検索結果をYomi-Searchのテンプレートで表示するには?」を参考にしました。

以下のような感じのコードを使いました。

use Jcode;
use SOAP::Lite;
# Google Web API を利用して、Google から検索結果を得る。
my $google_key='[取得したGoogle Key.]';
my $google_wsdl = "./GoogleSearch.wsdl"; # WSDL指定.
# Start Google Web API.
my $google_search = SOAP::Lite->service("file:$google_wsdl");
# 検索文字列をUTF-8に。
my $query = '[検索したい語]';
$query = jcode($query)->utf8;
utf8::decode($query);
# Query Google(10件をリクエスト)
my $results = $google_search ->doGoogleSearch($google_key, $query, 0, 
10, "false", "", "false", "", "UTF-8", "UTF-8"); foreach my $result (@{$results->{'resultElements'}}) { # 検索結果をシフトJIS変換。 my $title = $result->{'title'}; my $snippet = $result->{'snippet'}; my $url = $result->{'URL'}; $title = jcode($title, 'utf8')->sjis; $snippet = jcode($snippet, 'utf8')->sjis; # 不要なタグを消してみる。 $title=~s/\n//g; $title=~s/<b>//g; $title=~s/<\/b>//g; $snippet=~s/\n//g; $snippet=~s/<b>//g; $snippet=~s/<\/b>//g; $snippet=~s/<br>//g; $title = 'タイトル無し' if (!$title); $snippet = '紹介文無し' if (!$snippet); ここでいろいろ処理 }

利用したのは、
・title=サイトのタイトル。
・url=サイトのURL。
・snippet=サイトの概要。
の3つの項目で、実際の利用例は、グアムの下の方の関連リンクのところ。

Comments are closed.