Yahoo!ショッピングWebサービスで利用できるAPIが増えました
Yahoo!ショッピングWebサービスでは商品コード検索、
キーワードランキング、コンテンツマッチアイテム、
コンテンツマッチランキングのAPIが増えました。
(http://developer.yahoo.co.jp/ - 2008年8月28日)
$appid は自分で取得したものを使ってくださいね。#!/usr/bin/perl -T use strict; use warnings; use CGI; use LWP::Simple; use XML::Simple; use HTML::Template; use URI::Escape; use utf8; binmode STDOUT, ":utf8"; my $appid = "YahooDemo"; my $q = new CGI; my $url = $q->param('u') || ""; $url =~ s/[\"<>]//g; my $sr_ref = yapi({url => $url}); my $template = join("", <DATA>); my $t = HTML::Template->new(scalarref => \$template, global_vars => 1, die_on_bad_params => 0); $t->param(url => $url); $t->param(results => $sr_ref); print $q->header(-charset => 'UTF-8'), $t->output(); sub yapi { my ($args_ref) = @_; my $u = $args_ref->{url}; return [] unless $u; my $eu = URI::Escape::uri_escape($u); my $url = "http://shopping.yahooapis.jp/ShoppingWebService/V1/contentMatchItem?" ."appid=$appid&url=$eu"; my $response = get($url); my $xmlsimple = XML::Simple->new(ForceArray => [ 'Hit' ]); my $xml = $xmlsimple->XMLin($response); return [] unless $xml->{Result}->{Hit}; foreach my $r (@{$xml->{Result}->{Hit}}) { # ad hoc, bk $r->{ImageUrl} = $r->{Image}->{Small}; } return $xml->{Result}->{Hit}; } __DATA__ <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title><TMPL_VAR name=url></title> </head> <body> <h1><a href="<TMPL_VAR name=url>"><TMPL_VAR name=url></a></h1> <form> <input type="input" name="u" size="60" value="<TMPL_VAR name=url>"> <input type="submit"> </form> <TMPL_LOOP name=results> <p><a href="<TMPL_VAR name=Url>"><TMPL_VAR name=Name></a><br> <img src="<TMPL_VAR name=ImageUrl>"></p> </TMPL_LOOP> <hr> <a href="http://developer.yahoo.co.jp/about">Webサービス by Yahoo! JAPAN</a> </body> </html>