2006年07月12日

phpのSimpleXMLを利用してFlickr TAGってのを作ってみた このエントリーをはてなブックマークに追加

こんにちは、「刑事ヨロシク」でお馴染みのミッキー岡野です(嘘です)。

写真共有サービスで最も有名な Flickr の人気の秘密は他のユーザとタグでゆるーい連携を結べるところにあるよーな気がする。
自分のアップロードした写真にテキトーなタグを付与しておく。もし別のユーザが同じタグを利用していたらその写真はお仲間としてタグで検索されたときに一緒に写真が表示される。
これはなかなか素晴らしい。海の写真をアップしたとき、タグに「海」と指定しておくと別のユーザが「海」のタグで自分の写真を探してくれるかもしれない。

で、このタグで絞り込んだ場合のURLは

http://www.flickr.com/photos/tags/[タグ名]


って感じのURLになる。
で、このURLではRSS情報を配信しているのだ。

で、このタグで絞り込んだURLのRSS情報を利用して、サムネールを表示しちゃおうというものを(勝手に)作ってみた。



上記のサイトで興味あるタグ名を入力し、自分のBlogで利用している文字コードを指定すると、HTMLタグが表示される。
これをBlogなどに貼っておくと、自分の興味ある写真をリアルタイムでblogに配信してくれるのだ。

下記は「湖」というタグを指定したもの。



ブログパーツとしてサイドバーあたりに貼り付けるとよいかも。

勿論、サムネールをクリックするとFlickrの元画像へリンクする。
の部分にカーソルを合わせると、タグの名前が表示される(ALT属性にタグ名を一応いれてます)。
の部分はりょーちのこのサイトへのリンクとなっています。

テキトーに作った割には、結構面白いよーな気がする。

なお、全く関係ないのだが、今回この Flickr Tag を作るにあたり、はじめて PHP の SimpleXML関数を利用してみた。
これ、かなり凄いっすね。

やってることはこんな感じ。

1. GETメソッドで入力されたタグを取得
2. 取得したタグ( $_GET['tag'] ) を使って
$url = 'http://www.flickr.com/services/feeds/photos_public.gne?tags='.$_GET['tag'].'&format=rss_200';
みたいな感じで、RSSのURLを生成する。
3. $rss = simplexml_load_file($url);
って感じでsimplexmlのオブジェクトっぽいものを作る。
4. $data = $rss->children('http://search.yahoo.com/mrss');
って感じにして、media:thumbnail の attributes を取ってみる
5. それと同時に
foreach ($rss->channel->item as $ln){
 $l_array[] = $ln->link;
 $t_array[] = $ln->title;
}
って感じにして、写真のタイトルとリンク先をGetする。
6. で、4と5の情報を使ってタグを生成する。

って感じづら。
コアのプログラムは15行くらいで、残りはHTMLファイルを生成するために使っている。こんなのが簡単に作れるって、SimpleXMLはかなり素晴らしいっす!



posted by りょーち | Comment(4) | TrackBack(0) | Web周辺技術
この記事へのコメント
毎度お世話になっております。satokotoです。早速紹介させていただきました。

勝手にずらーっと表示されるところがよいです!

あと、natureとかgreenとかたまにスクリプトエラーになるタグがあるようです。あるいは文字列じゃなくて、たまたまかもしれないですね。一応ご報告しておきます^^
Posted by ブログパーツをさがせ at 2006年07月16日 00:26
連続ごめんなさい。タグの件はたまたまだったようです。(お騒がせしました)
Posted by ブログパーツをさがせ at 2006年07月16日 00:29
はじめまして。
ブログにflickr tagを使わせていただきました。
かなりっいいですっ!!!!!
ありがとうございましたっ!!!!!
Posted by b.r.b.r at 2006年07月17日 11:28
satokotoさん、こんにちは。りょーち@管理人です。コメント&ご紹介いただきましてありがとうございます。

http://ryouchi.seesaa.net/article/20961933.html
でも、記載いたしましたように、なんだがエラーになっていたようです。うーむ。
プログラムって難しいっすねー。

日々精進ですかねぇ・・・
ではでは。
Posted by りょーち at 2006年07月18日 10:42
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。