溜まったdashboard をサムネイルでまとめ見
数日(どころか一日でも)チェックしてないと2~300 は余裕で溜まってるので、すべてチェックするのは大変すぎ。きりがない。ので、dashboard のポスト(今は photo のみ)を w150 でまとめて表示する script。ちょーやっつけなのでソースは汚い。
require 'rubygems' require 'tumblr' require 'mechanize' module Tumblr class Dashboard ... end end ################################################################ if __FILE__ == $0 email = "xxx@xx.com" passwd = "xxx" imgs = Hash.new(0) num_photos = 0 db = Tumblr::Dashboard.new(email, passwd) lst = 30 (1.upto(lst)).each do |i| pg = db.page(i) pg.posts.each do |post| # puts post.elem.inner_html # puts "----" # p elements = post.elem.search("//img[@class=image]") a = post.elem.search("//a[@title=Permalink]") permalink = a[0].attributes['href'] rebloglink = "http://www.tumblr.com/reblog/#{post.post_id}" if post.post_type == "photo" elem = post.elem.search("//img[@class=image]")[0] unless elem.nil? src = elem.attributes['src'] # p elem.class if imgs[src] == 0 puts "<a href=\"#{permalink}\"><img src=\"#{src}\" width=\"150\"></a>\n" end imgs[src] += 1 num_photos += 1 end end end end puts "<hr> #{imgs.keys.size} / #{num_photos}" end
Tumblr::Dashboard はhttp://tumblr.g.hatena.ne.jp/cxx/20080517/1211057728のを借り。
lst には未表示ポスト/10 をいれておく。重複ポストは省いている。reblog したそーなポストはクリックすれば個別ポストに飛ぶ。直接 reblog するのも作ろうかと思ったけど、結局 2 step いるので(どうにかできるとは思うが)やめ。