先日調べていたHackety Hackの習作です。Flickrから画像を引っ張ってきます。ネコ(cat)です。

getflickrpic.jpg

ってな感じで、FlickrのRSSフィードを読み込んでjpegのみ取り出して表示させます。
下は自然(nature)。

getflickrpics-nature.jpg

コードは以下。バージョンは0.51で動作確認済み。

#get flickr pictures
kindOfPic = ask("What kind of Pictures. Do you want?")
url = "http://api.flickr.com/services/feeds/photos_public.gne?format=rss2&tags="
Web.popup do
  Web.fetch(url + kindOfPic,:as => Web::Feed).items.each do |item|
    puts(Picture(item.description[/[^"]+.jpg/]))
  end
end

実行すると、「What kind of Pictures. Do you want?」と聞いてくるので英語で適当な名詞を入れます。「熊(bear)」と入力すると毛むくじゃらのオッサンの写真が出て来てビックリです。確かに熊みたいですが、、、

たった数行でおもしろいことが出来ますね、ちなみに言語はRuby。

また、Hackety Hackに添付されているLesson 2B「MeFi」というMetafilterから内容が200文字以下の記事を取り出すサンプルですが、結構な間違いがあって動きません。正しくは、

# Read the Metafilter feed.
feed = Web.fetch("http://xml.metafilter.com/rss.xml", :as => Web::Feed)
feed.items.reject! do |item|
  item.description.length > 200
end
puts(feed)

フィードの取り方からカッコの付け方まで複数箇所間違ってますが前のバージョンでの文法なのかな?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です