Yahoo!オークション 商品検索 サンプルコード

Yahoo!オークション 商品検索のサンプルコードです。
当ホームページでは、PHP5を使用しています。PHP5が使用できない環境の方は、こちらのエックスサーバーをご検討下さい。当ホームページでも使用しているおすすめのサーバーです。

サンプルコード

「PHP プログラミング」というキーワードで、現在価格の安い順に表示するサンプルコードです。 サンプルコードの実行結果
検索条件を変えるには、各パラメータを指定して下さい。→ リクエストの作成へ

★★にはアプリケーションIDを、◆◆には、バリューコマース自由テキストのリンク先を入れて下さい。詳しくは、アプリケーションIDアフィリエイト方法を参照下さい。

一部スタイルシートを使用しています。スタイルシートの本

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>Yahoo!オークション 商品検索サンプル</title>
<style type="text/css">
<!--
img {
	border: none;
}
table {
	margin: 5px;
	border-top: 1px solid gray;
	border-left: 1px solid gray;
	width: 80%;
}
table td {
	padding: 5px;
	border-right: 1px solid gray;
	border-bottom: 1px solid gray;
	text-align: center;
}
.price {
	font-weight: bold;
}
//-->
</style>
</head>
<body>
<?php

$num = '1';
$word = 'PHP プログラミング';

$base  = 'http://auctions.yahooapis.jp/AuctionWebService/V1/Search?';
$base .= 'appid=★★';

$query = '&query=' .urlencode($word);
$page = '&page=' .$num;
$sort = '&sort=cbids' .'&order=a';

$file = $base .$query .$page .$sort;
$xml =  simplexml_load_file($file);
?>
<table cellspacing="0" cellpadding="0">
  <tr>
    <td colspan="2">タイトル</td>
    <td width="80">現在価格</td>
    <td width="80">即決価格</td>
    <td width="40">入札</td>
  </tr>
<?php
foreach($xml->item as $item){
	$title = $item->title;
	$url = $item->url;
	$url = urlencode($url);
	$img = $item->img;
	$price = $item->price;
	$bids = $item->bids;
	$bidorbuy = $item->bidorbuy;
	if($bidorbuy==''){$bidorbuy='-';}

print <<< page
  <tr>
    <td>
      <a href="◆◆&vc_url={$url}" target="_blank"><img src="{$img}" width="80"></a>
    </td>
    <td style="text-align:left">
      <a href="◆◆&vc_url={$url}" target="_blank" >
      <img src="◆◆" height="1" width="1" border="0">{$title}</a>
    </td>
    <td class="price">{$price}</td>
    <td>{$bidorbuy}</td>
    <td>{$bids}</td>
  </tr>

page;
}
?>
</table>
<!-- Begin Yahoo! JAPAN Web Services Attribution Snippet -->
<span style="margin:15px 15px 15px 15px">
<a href="http://developer.yahoo.co.jp/about">
Webサービス by Yahoo! JAPAN</a></span>
<!-- End Yahoo! JAPAN Web Services Attribution Snippet -->
</body>
</html>

サンプルコードの説明(PHP部分のみ)

プログラム 説明
$num = '1'; 1ページ目から表示するため、$numに1を代入
$word = 'PHP プログラミング'; $word に検索ワード「PHP プログラミング」を代入
$base = 'http://auctions.yahooapis.jp/AuctionWebService/V1/Search?'; 基本URL
$base .= 'appid=★★'; アプリケーションIDを基本URLに追加
$query = '&query=' .urlencode($word); キーワードをエンコードしてキーワードクエリを作成する
$page = '&page=' .$num; 何ページ目から表示するかを指示 今回$numは1のため、1ページ目から表示される
$sort = '&sort=cbids' .'&order=a'; ソートの指定 現在価格の安い順
$file = $base .$query .$page .$sort; クエリをつなげて、リクエストURLを作成する
$xml = simplexml_load_file($file); 返ってきたXMLを$xmlに代入する。
foreach($xml->item as $item){ itemを変数$itemに代入する。item分繰り返す。
$title = $item->title;他 titleを$titleに代入する。$url以下同様
$url = urlencode($url); urlをURLエンコードしてurlに代入する。
if($bidorbuy==''){$bidorbuy='-';} $bidorbuy(希望落札価格)がない場合は、「-」にする
print <<< page ~ page; XMLから抜き出したデータを表示する
<!-- Begin Yahoo! JAPAN Web Services Attribution Snippet -->以下 クレジット表示(必須)
ホームページ WEBサービス API PHP プログラミング