simplexml_load_fileを使ってYouTubeのサムネイルを取得

今回YouTubeのデベロッパーIDを取得して、PEARのライブラリを使わせてもらって、サムネイルを取得しようかと最初は思っていたんだけど、デベロッパーID作ったもののIDが有効でないみたいなエラーが出てしまったので、別方法で取得することにした。デベロッパーIDはアップロードとかしない限り必要ではないようなので。

//XMLファイル取得(max-resultやorderbyなどのオプションはお好みで)
$data = simplexml_load_file("http://gdata.youtube.com/feeds/api/videos/-/ハリーポッター?max-results=50&orderby=viewCount");
foreach ($data->entry as $entry) {
  $media = $entry->children('http://search.yahoo.com/mrss/');
  //タイトルを取得
  $title = $media->group->title;
  //ページURLを取得
  $attrs = $media->group->player->attributes();
  $youtube = $attrs['url'];
  //サムネイルを取得
  $attrs = $media->group->thumbnail[0]->attributes();
  $thumbnail = $attrs['url'];
  //結果を出力
  echo $title."<br />";
  echo $youtube."<br />";
  echo $thumbnail."<br />";
}

simplexml_load_fileが便利なのはもちろん、ポイントはhttp://search.yahoo.com/mrss/かと。
こいつがないと、media下のデータがぶっこ抜けませんので注意ですね。

コメントを残す