Tutte le immagini Explore di Flickr (aggiornato)

by Michele

Flickr, il famoso servizio di condivisione di immagini on-line, ha creato una sezione chiamata Explore. Explore presenta le immagini che hanno ricevuto il maggior numero di visite e commenti nella giornata odierna. Per questa sezione, attualmente, non è previsto nessun metodo nella API di Flickr.

Per vedere la lista completa di tutte le foto più belle della giornata ho scritto una libreria Ruby chiamata “flickrexplore.rb” che permette di scaricare tutte e 500 le immagini. Il numero complessivo di immagini è presentato in 50 pagine da 10 immagini per ognuna. Questo script cerca in maniera automatica tutte le pagine e restituisce una collezione di oggetti che rappresentano le singole immagini.

Per presentare le immagini ho preparato una piccola applicazione con Ruby On Rails. Ecco in dettaglio come ho fatto:

Ho creato il progetto e il controller con i seguenti comandi:

rails flickrexplore
ruby script/generate controller flickr

Ho aggiunto il metodo explore al controller flickr:

require 'date'
require 'flickrexplore'

class FlickrController < ApplicationController
    def explore
        flickrexplore = DayExplorePhotosGrabber.new
        @photos = flickrexplore.grab()

        now = DateTime::now()
        @title = now.strftime('%Y/%m/%d')
    end
end

Poi ho creato il file explore.rhtml nella directory delle viste:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it" dir="ltr">
<head>
    <title>Flickr Explore <%= @title %></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <style type="text/css">
        a img { border: none}
    </style>
</head>
<body>
<h1>Explore photos for <%= @title %></h1>

<% @photos.each do |photo| %>
    <a href="http://www.flickr.com/photos/<%= photo.author %>/<%= photo.photoid %>/" title="<%= photo.title %>"><img src="http://static.flickr.com/<%= photo.server %>/<%= photo.photoid %>_<%= photo.secret %>_s.jpg" alt="<%= photo.title %>" /></a>
<% end %>

</body>
</html>

Ecco il risultato:

Screenshot dello script

Ancora una volta sono estremamente sorpreso della velocità con cui si possa creare dal nulla un’applicazione web. Gli strumenti di generazione di Rails sono veramente fantastici!

Se volete utilizzare la libreria in altri ambiti potete scaricarla da qui: flickrexplore.rb – 2Kb

AGGIORNAMENTO:
Con i consigli di riffraff ho ridotto di circa 15 righe il codice della libreria.