FC2ブログ

<?php
// リクエストパラメータ
$Yahoo = "http://shopping.yahooapis.jp/ShoppingWebService/V1/queryRanking";
$appid = "?appid="."";
// $affiliate_type = "?affiliate_type="."";
// $affiliate_id = "&affiliate_id="."";
// $callback = "&callback="."";
$type = "&type="."ranking";
$hits = "&hits="."20";
$offset = "&offset="."0";

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

$totalResultsAvailable = $xmldata['totalResultsAvailable'];
$totalResultsReturned = $xmldata['totalResultsReturned'];
$firstResultPosition = $xmldata['firstResultPosition'];

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


// ランキング情報
$RankingInfo_StartDate = $xmldata->Result->RankingInfo->StartDate;
$RankingInfo_EndDate = $xmldata->Result->RankingInfo->EndDate;
$RankingInfo_LastModified = $xmldata->Result->RankingInfo->LastModified;
$RankingInfo_Type = $xmldata->Result->RankingInfo->Type;

print $RankingInfo_StartDate."<br />";
print $RankingInfo_EndDate."<br />";
print $RankingInfo_LastModified."<br />";
print $RankingInfo_Type."<br />";

foreach($xmldata->Result->QueryRankingData as $value){
$QueryRankingData_rank = $value["rank"];
$QueryRankingData_vector = $value["vector"];
$QueryRankingData_prerank = $value["prerank"];
$Query = mb_convert_encoding($value->Query, "EUC-JP", "UTF-8");
$Url = $value->Url;
// 検索キーワードの関連キーワードリスト
foreach($value->Relational->RelationalTerm as $relational){
$RelationalTerm_Query[] = mb_convert_encoding($relational->Query, "EUC-JP", "UTF-8");
$RelationalTerm_Url[] = $relational->Url;
}

print $QueryRankingData_rank."<br />";
print $QueryRankingData_vector."<br />";
print $QueryRankingData_prerank."<br />";
print $Query."<br />";
print $Url."<br />";
// 検索キーワードの関連キーワードリスト
for($i = 0; $i < count($RelationalTerm_Query); $i++){
print $RelationalTerm_Query[$i]."<br />";
print $RelationalTerm_Url[$i]."<br />";
}
// 配列の削除
while(count($RelationalTerm_Query)){
array_pop($RelationalTerm_Query);
array_pop($RelationalTerm_Url);
}
}

// カテゴリ
foreach($xmldata->Result->Categories->Current as $value){
$Current_Id = $value->Id;
$Current_ParentId = $value->ParentId;
$Current_Url = $value->Url;
$Current_Title_Short = mb_convert_encoding($value->Title->Short, "EUC-JP", "UTF-8");
$Current_Title_Medium = mb_convert_encoding($value->Title->Medium, "EUC-JP", "UTF-8");
$Current_Title_Long = mb_convert_encoding($value->Title->Long, "EUC-JP", "UTF-8");
// カテゴリ
foreach($value->Path->Category as $category){
$Current_Category_depth[] = $category["depth"];
$Current_Category_Id[] = $category->Id;
$Current_Category_ParentId[] = $category->ParentId;
$Current_Category_Title_Name[] = mb_convert_encoding($category->Title->Name, "EUC-JP", "UTF-8");
}

print $Current_Id."<br />";
print $Current_ParentId."<br />";
print $Current_Url."<br />";
print $Current_Title_Short."<br />";
print $Current_Title_Medium."<br />";
print $Current_Title_Long."<br />";
// カテゴリ
for($i = 0; $i < count($Current_Category_Id); $i++){
print $Current_Category_depth[$i]."<br />";
print $Current_Category_Id[$i]."<br />";
print $Current_Category_ParentId[$i]."<br />";
print $Current_Category_Title_Name[$i]."<br />";
}
}

// 子カテゴリ
foreach($xmldata->Result->Categories->Children->Child as $value){
$Children_sortOrder = $value["sortOrder"];
$Children_Id = $value->Id;
$Children_Url = $value->Url;
$Children_Title_Short = mb_convert_encoding($value->Title->Short, "EUC-JP", "UTF-8");
$Children_Title_Medium = mb_convert_encoding($value->Title->Medium, "EUC-JP", "UTF-8");
$Children_Title_Long = mb_convert_encoding($value->Title->Long, "EUC-JP", "UTF-8");

print $Children_sortOrder."<br />";
print $Children_Id."<br />";
print $Children_Url."<br />";
print $Children_Title_Short."<br />";
print $Children_Title_Medium."<br />";
print $Children_Title_Long."<br />";
}
?>


参考URL
Yahoo!デベロッパーネットワーク - ショッピング - キーワードランキング

appid アプリケーションID(必須)
affiliate_type Yahoo! JAPANアフィリエイト(yid)とバリューコマースアフィリエイト(vc)の選択。
affiliate_id Yahoo! JAPANアフィリエイトIDもしくは、バリューコマースアフィリエイトIDを入力。
callback JSONPとして出力する際のコールバック関数名をUTF-8でエンコードした文字列を入力
type 出力するコンテンツタイプを選択 ranking 検索キーワードランキング up 急上昇した検索キーワード

RankingInfo_StartDate 集計開始日
RankingInfo_EndDate 集計終了日
RankingInfo_LastModified 更新日
RankingInfo_type リクエストtype
QueryRankingData_rank 現在順位(1位から100位まで)
QueryRankingData_vector 前日差(up:上昇/down:下降/stay:維持/new:新規)
QueryRankingData_prerank 前日順位、前日に圏外およびnewの場合は9999を返す
Query 検索キーワード
Url Queryの検索結果ページへのURL/アフィリエイトURL
RelationalTerm_Query 関連キーワード最大4件
RelationalTerm_Url 関連キーワードの検索結果ページへのURL/アフィリエイトURL
Current_Id カテゴリID
Current_ParentId 親カテゴリID
Current_Url URL
Current_Title_Short カテゴリ名
Current_Title_Medium カテゴリパス名1
Current_Title_Long カテゴリパス名2
Current_Category_depth トップからのカテゴリの深さ
Current_Category_Id カテゴリID
Current_Category_ParentId 親カテゴリID
Current_Category_Title_Name カテゴリ名
Children_sortOrder ソート順
Children_Id 子カテゴリID
Children_Url URL
Children_Title_Short カテゴリ名
Children_Title_Medium カテゴリパス名1
Children_Title_Long カテゴリパス名2

一言
バグ:配列を[]で代入させてるのですべての値が入っている。だから何度も同じ値を表示させてる。
コピペだけだとやっぱり無理なので、PHPの入門書でも買ってこよう。
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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