PHP5より実装されたDOM拡張モジュールでYouTube検索APIを使ったコードの例です。
電脳卸の例とは違ったメソッドを使っています。
YouTube API の使い方は http://www.youtube.com/dev_docs をご覧ください。
//URL
$request = “http://www.youtube.com/api2_rest”;
//メソッド
$method =”youtube.videos.list_by_tag”;
$url = $request.”?method=$method&dev_id=YouTubeデベロッパーID&tag=検索語(UTF-8)&page=ページ数”;
// 結果を格納する配列
$aryList = array();
try{
// YouTubeへリクエストを投げた後、
// 検索結果のXML文書をパース
$doc = new domDocument();
$doc->load($url);
// ルート要素を取得
$root=$doc->documentElement;
$results=$root->childNodes;
// 各Result要素を出力
foreach($results as $result){
$items=$result->childNodes;
// さらに各要素を解析する
foreach($items as $item){
$author = $item->getElementsByTagName(‘author’)->item(0)->textContent;
$id = $item->getElementsByTagName(‘id’)->item(0)->textContent;
$title = $item->getElementsByTagName(‘title’)->item(0)->textContent;
$length_seconds = $item->getElementsByTagName(‘length_seconds’)->item(0)->textContent;
$rating_avg = $item->getElementsByTagName(‘rating_avg’)->item(0)->textContent;
$rating_count = $item->getElementsByTagName(‘rating_count’)->item(0)->textContent;
$description = $item->getElementsByTagName(‘description’)->item(0)->textContent;
$view_count = $item->getElementsByTagName(‘view_count’)->item(0)->textContent;
$upload_time = $item->getElementsByTagName(‘upload_time’)->item(0)->textContent;
$tags = $item->getElementsByTagName(‘tags’)->item(0)->textContent;
$url = $item->getElementsByTagName(‘url’)->item(0)->textContent;
$thumbnail_url = $item->getElementsByTagName(‘thumbnail_url’)->item(0)->textContent;
$result_array = array(
”author” => $author,
”id” => $id,
”title” => $title,
”length_seconds” => $length_seconds,
”rating_avg” => $rating_avg,
”rating_count” => $rating_count,
”description” => $description,
”view_count” => $view_count,
”upload_time” => $upload_time,
”tags” => $return_tag,
”url” => $url,
”thumbnail_url” => $thumbnail_url
);
$aryList[]=$result_array;
}
}
}catch(DOMException$e){
print $e->getCode()”;
print .$e->getMessage();
}