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

まめ畑

ゆるゆると書いていきます

gyazoの画像データが見えたので

Ruby

Twitterhttp://data.gyazo.com/にアクセスするとgyazoのデータが見えるというPOSTを見かけたので、のぞいてみたら本当に見えた。
なので落とすスクリプトを速攻作って落としてみた。
しかし、1000枚落とすのがすごく時間かかる・・・。

一応、DL済みのデータは落とさないようにしてあるので定期的に実行すれば・・・
もろもろGET出来るけど・・・
でも、やりすぎると負荷かかるし、落としちゃいけない気がするので。
見えなくなったら使えなくなるけど、コードはこんな感じ。
ちなみに、1000枚落としきると約170Mになった。


REXMLいるので、gemってください。

require 'rubygems'
require 'open-uri'
require 'rexml/document'

GYAZO_URL = 'http://data.gyazo.com/'

gyazo_rss = REXML::Document.new(open(GYAZO_URL))


gyazo_key = []
gyazo_rss.elements.each('ListBucketResult/Contents') do |id|
	gyazo_key << id.elements['Key'].text
end

counter = 1
new_total = 0
gyazo_key.each do |key|
	printf("%d/%d\n",  counter , gyazo_key.length)
	counter += 1
	next if File.exist?(key)
		File.open(key, 'wb') do |f|
			f.write open(GYAZO_URL + key).read
		end
		new_total += 1
end

printf("NewPhoto(s): %d\n", new_total)

うーん。誰がうpしたかわからないけど管理には気をつけて欲しいものです。