FC2ブログ

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

// リクエストパラメータ
$Yahoo = "http://dir.yahooapis.jp/Category/V1/directorySearch";
$appid = "?appid="."";
$query = "&query=".$Get_Keyword;
$type = "&type="."0";
$results = "&results="."10";
$start = "&start="."1";
$adult_ok = "&adult_ok="."1";
$path = "&path="." ";
$new = "&new="."0";
$picks = "&picks="."0";

// XML
$url = $Yahoo.$appid.$query.$type.$results.$start.$adult_ok.$path.$new.$picks;
$xmldata = simplexml_load_file($url) or die("XMLパースエラー");

//レスポンスの状態やサーバーからのメッセージ。
$Arg_appid = $xmldata->Status->Args->Arg[0]->attributes()->Value;
$Arg_query = $xmldata->Status->Args->Arg[1]->attributes()->Value;
$Arg_type = $xmldata->Status->Args->Arg[2]->attributes()->Value;
$Arg_results = $xmldata->Status->Args->Arg[3]->attributes()->Value;
$Arg_start = $xmldata->Status->Args->Arg[4]->attributes()->Value;
$Arg_adult_ok = $xmldata->Status->Args->Arg[5]->attributes()->Value;
$Arg_path = $xmldata->Status->Args->Arg[6]->attributes()->Value;
$Arg_new = $xmldata->Status->Args->Arg[7]->attributes()->Value;
$Arg_picks = $xmldata->Status->Args->Arg[8]->attributes()->Value;
$Errors_Error = $xmldata->Errors->Error;

print $Arg_appid."<br />";
print $Arg_query."<br />";
print $Arg_type."<br />";
print $Arg_results."<br />";
print $Arg_start."<br />";
print $Arg_adult_ok."<br />";
print $Arg_path."<br />";
print $Arg_new."<br />";
print $Arg_picks."<br />";
print $Errors_Error."<br />";

// カテゴリの検索結果の集合。Itemで構成される。
$DirSearchResults_TotalCount = $xmldata->DirSearchResults["TotalCount"];
$DirSearchResults_Count = $xmldata->DirSearchResults["Count"];
$DirSearchResults_Start = $xmldata->DirSearchResults["Start"];

print $DirSearchResults_TotalCount."<br />";
print $DirSearchResults_Count."<br />";
print $DirSearchResults_Start."<br />";

// 検索結果。
foreach($xmldata->DirSearchResults->Item as $value){
$Id = $value->Id;
$Type = $value->Type;
$Title = mb_convert_encoding($value->Title, "EUC-JP", "UTF-8");
$Path = $value->Path;
$Url = $value->Url;
$ClickUrl = $value->ClickUrl;
$JPath = mb_convert_encoding($value->JPath, "EUC-JP", "UTF-8");
$Created = $value->Created;
$Adult = $value->Adult;
$New = $value->New;

print $Id."<br />";
print $Type."<br />";
print $Title."<br />";
print $Path."<br />";
print $Url."<br />";
print $ClickUrl."<br />";
print $JPath."<br />";
print $Created."<br />";
print $Adult."<br />";
print $New."<br />";
}

// 登録サイト検索結果の集合Itemで構成される。
$SiteSearchResults_TotalCount = $xmldata->SiteSearchResults["TotalCount"];
$SiteSearchResults_Count = $xmldata->SiteSearchResults["Count"];
$SiteSearchResults_Start = $xmldata->SiteSearchResults["Start"];

print $SiteSearchResults_TotalCount."<br />";
print $SiteSearchResults_Count."<br />";
print $SiteSearchResults_Start."<br />";

// 検索結果。
foreach($xmldata->SiteSearchResults->Item as $value){
$Parent = $value->Parent;
$ParentName = mb_convert_encoding($value->ParentName, "EUC-JP", "UTF-8");
$ParentCategoryUrl = $value->ParentCategoryUrl;
$ParentCategoryClickUrl = $value->ParentCategoryClickUrl;
$Type = $value->Type;
$Title = mb_convert_encoding($value->Title, "EUC-JP", "UTF-8");
$Summary = mb_convert_encoding($value->Summary, "EUC-JP", "UTF-8");
$Url = $value->Url;
$ClickUrl = $value->ClickUrl;
$Created = $value->Created;
$Adult = $value->Adult;
$New = $value->New;
$Picks = $value->Picks;
$Cool = $value->Cool;

print $Parent."<br />";
print $ParentName."<br />";
print $ParentCategoryUrl."<br />";
print $ParentCategoryClickUrl."<br />";
print $Type."<br />";
print $Title."<br />";
print $Summary."<br />";
print $Url."<br />";
print $ClickUrl."<br />";
print $Created."<br />";
print $Adult."<br />";
print $New."<br />";
print $Picks."<br />";
print $Cool."<br />";
}
?>


参考URL
Yahoo!デベロッパーネットワーク - カテゴリ - ディレクトリサーチ

appid アプリケーションID(必須)
query (UTF-8エンコードされた)検索クエリーです。「OR」「AND」「NOT」を使った検索式も指定できます。
type 0 カテゴリデータとサイトデータ。1 カテゴリデータのみ。2 サイトデータのみ。
results リクエストで受ける結果の最大件数を指定します。最大50
tart レスポンスで受ける最初の検索結果の位置 1000を超えられません。
adult_ok アダルトカテゴリを検索結果に含めるかどうかを指定
path pathで指定されたカテゴリ
new 1の場合、1週間以内に登録されたカテゴリや登録サイトのみが検索対象になります。
picks 1の場合、「今週のオススメ」に過去6カ月以内に掲載された、登録サイトのみが検索対象になります

Arg_appid パラメータの値
Arg_query パラメータの値
Arg_type パラメータの値
Arg_results パラメータの値
Arg_start パラメータの値
Arg_adult_ok パラメータの値
Arg_path パラメータの値
Arg_new パラメータの値
Arg_picks パラメータの値
Errors_Error エラーの説明。
DirSearchResults_TotalCount カテゴリの検索結果の総数。
DirSearchResults_Count 検索結果数。
DirSearchResults_Start 結果の取得開始位置。
Id integer カテゴリのID。
Type string category カテゴリであることを示す。
Title string カテゴリ名。
Path string Yahoo! JAPANが提供するYahoo!カテゴリのページURLから、「http://dir.yahoo.co.jp/」を除いたもの。
Url string カテゴリページのURL。
ClickUrl string カテゴリページへのリンク用(クリック用)URL。
JPath string Yahoo! JAPANが提供するYahoo!カテゴリの、ページの「カテゴリパス(Breadcrumb)」。
Created string カテゴリが作成された日付。「YYYYMMDD」形式。
Adult integer アダルトカテゴリの場合「1」、それ以外の場合「0」。
New integer 過去1週間以内に新しく登録されたカテゴリの場合「1」、それ以外の場合「0」。
SiteSearchResults_TotalCount カテゴリの検索結果の総数。
SiteSearchResults_Count 検索結果数。
SiteSearchResults_Start 結果の取得開始位置。
Parent integer サイトが登録されているカテゴリのID。
ParentName string サイトが登録されているカテゴリのカテゴリ名。
ParentCategoryUrl string サイトが登録されているカテゴリページURL。
ParentCategoryClickUrl string サイトが登録されているカテゴリページへのリンク用(クリック用)URL。
Type site サイトであることを示す。leaf 登録サイトとして扱われるカTitle string 登録サイト名。
Summary string 登録サイトの説明。
Url string 登録サイトのURL。表示用URL(Display URL)。
ClickUrl string 登録サイトへのリンク用(クリック用)URL。
Created string サイトが登録された日付。「YYYYMMDD」形式。
Adult integer アダルトサイトの場合「1」、それ以外の場合「0」。
New integer 過去1週間以内に新しく登録されたサイトの場合「1」、それ以外の場合「0」。
Picks integer 「今週のオススメ」に掲載されたサイトの場合「1」、それ以外の場合「0」。
Cool integer Yahoo!カテゴリ独自の基準によって、優れた内容であると評価されたサイトの場合「1」、それ以外の場合は「0」。
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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