FC2ブログ

<?php
// 検索ワード
$Get_Keyword = ereg_replace("[  ]+", " ", trim($_GET['url']));
$Get_Keyword_enc = urlencode($Get_Keyword);
$Get_Keyword_enc_utf = urlencode(mb_convert_encoding($Get_Keyword, "UTF-8", "EUC-JP"));

// urlの確認
if(!(preg_match("/^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/", $Get_Keyword))){
exit("URLのみ");
}

// リクエストパラメータ
$Yahoo = "http://shopping.yahooapis.jp/ShoppingWebService/V1/contentMatchItem";
$appid = "?appid="."";
// $affiliate_type = "?affiliate_type="."";
// $affiliate_id = "&affiliate_id="."";
// $callback = "&callback="."";
$url = "&url=".$Get_Keyword_enc_utf;
$type = "&type="."keyword";
$hits = "&hits="."6";
$offset = "&offset="."0";
$store_id = "&store_id="."";
$responsegroup = "&responsegroup="."large";
$affiliate_from = "&affiliate_from="."";
$affiliate_to = "&affiliate_to="."";

// XML
$url = $Yahoo.$appid.$affiliate_type.$affiliate_id.$callback.$url.$type.$hits.$offset.$store_id.$responsegroup.$affiliate_from.$affiliate_to;
$xmldata = simplexml_load_file($url) or die("XMLパースエラー");

$totalResultsAvailable = $xmldata['totalResultsAvailable'];
$totalResultsReturned = $xmldata['totalResultsReturned'];
$firstResultPosition = $xmldata['firstResultPosition'];
$Request_Url = $xmldata->Result->Request->Url;

print $totalResultsAvailable."<br />";
print $totalResultsReturned."<br />";
print $firstResultPosition."<br />";
print $Request_Url."<br />";

foreach($xmldata->Result->Hit as $value){
$Hit_index = $value["index"];
$Url = $value->Url;
$Name = mb_convert_encoding($value->Name, "EUC-JP", "UTF-8");
$Description = mb_convert_encoding($value->Description, "EUC-JP", "UTF-8");
$Headline = mb_convert_encoding($value->Headline, "EUC-JP", "UTF-8");
$Availability = $value->Availability;
$Code = $value->Code;
$PersonId = $value->PersonId;
$ProductId = $value->ProductId;
$JanCode = $value->JanCode;
$IsbnCode = $value->IsbnCode;
$Model = $value->Model;
$Store_Id = $value->Store->Id;
$Store_Url = $value->Store->Url;
$Store_Name = mb_convert_encoding($value->Store->Name, "EUC-JP", "UTF-8");
// 支払い方法
foreach($value->Store->Payment->Method as $method){
$Payment_Method_Code[] = $method->Code;
$Payment_Method_Name[] = mb_convert_encoding($method->Name, "EUC-JP", "UTF-8");
}
$Store_IsBestStore = $value->Store->IsBestStore;
$Store_Ratings_Rate = $value->Store->Ratings->Rate;
$Store_Ratings_Count = $value->Store->Ratings->Count;
$Store_Image = $value->Store->Image->Id;
$Store_Image_Medium = $value->Store->Image->Medium;
$Image_Id = $value->Image->Id;
$Image_Small = $value->Image->Small;
$Image_Medium = $value->Image->Medium;
$Affiliate_Rate = $value->Affiliate->Rate;
$Review_Count = $value->Review->Count;
$Review_Rate = $value->Review->Rate;
$Review_Url = $value->Review->Url;
$Price = $value->Price;
$Price_currency = $value->Price["currency"];
$PriceLabel_taxIncluded = $value->PriceLabel["taxIncluded"];
$PriceLabel_FixedPrice = $value->PriceLabel->FixedPrice;
$PriceLabel_SalePrice = $value->PriceLabel->SalePrice;
// 現在カテゴリIDまでのルートからのパス構造
foreach($value->CategoryIdPath->Category as $Category){
$Category_Id[] = $Category->Id;
}
$Brands_Name = mb_convert_encoding($value->Brands->Name, "EUC-JP", "UTF-8");
// 現在ブランドIDまでのルートからのパス構造
foreach($value->Brands->Path->Brand as $Brand){
$Brand_Id[] = $Brand->Id;
}
$Shipping_Code = $value->Shipping->Code;
$Shipping_Name = mb_convert_encoding($value->Shipping->Name, "EUC-JP", "UTF-8");

print $Hit_index."<br />";
print $Url."<br />";
print $Name."<br />";
print $Description."<br />";
print $Headline."<br />";
print $Availability."<br />";
print $Code."<br />";
print $PersonId."<br />";
print $ProductId."<br />";
print $JanCode."<br />";
print $IsbnCode."<br />";
print $Model."<br />";
print $Store_Id."<br />";
print $Store_Url."<br />";
print $Store_Name."<br />";
// 支払い方法
for($i = 0; $i < count($Payment_Method_Code); $i++){
print $Payment_Method_Code[$i]."<br />";
print $Payment_Method_Name[$i]."<br />";
}
print $Store_IsBestStore."<br />";
print $Store_Ratings_Rate."<br />";
print $Store_Ratings_Count."<br />";
print $Store_Image."<br />";
print $Store_Image_Medium."<br />";
print $Image_Id."<br />";
print $Image_Small."<br />";
print $Image_Medium."<br />";
print $Affiliate_Rate."<br />";
print $Review_Count."<br />";
print $Review_Rate."<br />";
print $Review_Url."<br />";
print $Price."<br />";
print $Price_currency."<br />";
print $PriceLabel_taxIncluded."<br />";
print $PriceLabel_FixedPrice."<br />";
print $PriceLabel_SalePrice."<br />";
// 現在カテゴリIDまでのルートからのパス構造
for($i = 0; $i < count($Category_Id); $i++){
print $Category_Id[$i]."<br />";
}
print $Brands_Name."<br />";
// 現在ブランドIDまでのルートからのパス構造
for($i = 0; $i < count($Brand_Id); $i++){
print $Brand_Id[$i]."<br />";
}
print $Shipping_Code."<br />";
print $Shipping_Name."<br />";
// 配列の削除
while(count($Payment_Method_Code) || count($Category_Id) || count($Brand_Id)){
array_pop($Payment_Method_Code);
array_pop($Category_Id);
array_pop($Brand_Id);
}

}
?>


参考URL
Yahoo!デベロッパーネットワーク - ショッピング - コンテンツマッチアイテム

appid アプリケーションID(必須)
affiliate_type Yahoo! JAPANアフィリエイト(yid)とバリューコマースアフィリエイト(vc)の選択。
affiliate_id Yahoo! JAPANアフィリエイトIDもしくは、バリューコマースアフィリエイトIDを入力。
callback JSONPとして出力する際のコールバック関数名をUTF-8でエンコードした文字列を入力
url 解析するコンテンツのURLを入力します。
type 辞書選択。 keyword キーワード person 人物名 brand ブランド
hits 一回のリクエストで取得する商品情報数の指定。最大6件
store_id ストアのID、
responsegroup small medium large
affiliate_from 最低料率
affiliate_to 最高料率

Hit_index 検索結果の順番
Url 商品URL
Name 商品名
Description 商品説明
Headline キャッチコピー
Availability 購入できるか (instock/outofstock)
Code 商品コード
PersonId 人物ID
ProductId 製品ID
JanCode JANコード
IsbnCode ISBN(書籍コード)
Model 型番
Store_Id ストアID
Store_Url ストアURL
Store_Name ストア名
Payment_Method_Code 1=クレジットカード、2=銀行振込、4=商品代引、8=郵便振替、16=Yahoo!ウォレット、 32=モバイルSuica、64=コンビニ支払い、128=ペイジー対応 bitwise論理和
Payment_Method_Name クレジットカード、銀行振込、商品代引、郵便振替、Yahoo!ウォレット登録済クレジットカード、モバイルSuica、コンビニ支払い、ペイジー
Store_IsBestStore ベストストアかどうか(true/false)
Store_Ratings_Rate ストア評価【0.0-5.0】まで0.5刻み
Store_Ratings_Count 評価人数
Store_Image 画像ID
Store_Image_Medium 120×30サイズの画像URL
Image_Id 画像ID
Image_Small 76×76サイズの画像URL
Image_Medium 146×146サイズの画像URL
Affiliate_Rate アフィリエイト料率 0.1刻み
Review_Count レビュー保持数
Review_Rate レビュー平均評価
Review_Url レビューページへのURL/アフィリエイトURL
Price 価格
Price_currency 通貨
PriceLabel_taxIncluded 税込み価格かどうか
PriceLabel_FixedPrice 定価
PriceLabel_SalePrice セール価格
Category_Id 現在カテゴリIDまでのルートからのパス構造
Brands_Name ブランド名
Brand_Id 現在ブランドIDまでのルートからのパス構造
Shipping_Code 条件コード 1=設定なし 2=送料無料 3=条件付送料無料
Shipping_Name テキストで以下のいずれかの値 設定なし/送料無料/条件付送料無料
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

Author:雨宮
Firefoxを使用しているので気づかなかったけど、IE6でソースコードを上手くコピーできない

5/3
携帯用ならIE6でもソースコードをコピーできる
携帯用

検索フォーム


あわせて読みたいブログパーツ
一寸先は闇 RSS