読者です 読者をやめる 読者になる 読者になる

Keep It Real BLOG

ソフトウェアエンジニア。1児の父。 酒、ラーメン、サッカー好き。旅行も好きですが、普段は出不精で大抵たまプラーザ界隈に居ます。

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

Web-PHP Web

今回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下のデータがぶっこ抜けませんので注意ですね。