キャプチャをまとめて取るためにrubyでツール作った話
業務効率化にツール創るのってワクワクしますよね。
さて今回作ったものは、「実行すると指定したページのキャプチャを取ってきてくれるもの」
だったのですが、
ブラウザアプリのawesome的な、キャプチャ取得ツールの代わりになるかもしれないと思って、リライトしました。 ※実際に使っているファイルでは、basic認証とログインも書いています。
使うイメージとしては、はやりのデザインを定期で取りたいときに都度、キャプチャを取るのではなく、URLをjsonにまとめておいて、まとめて取っちゃおうぜ!って感じ。いちおう、日付とネーミングがファイルに付くので、あとは好きなようにしてください。ただし、アニメーションには弱いです。
caputrePage.rb
# encoding: utf-8 require 'json' require 'watir-webdriver' require 'open-uri' class CaturePage # for filename NOWTIME = Time.now.strftime("%Y%m%d%H%M%S") DIR_NAME = "./capture/something/" def capture() b = Watir::Browser.new :ff # open json open("something.json","r:UTF-8") do |io| # print io.read # load json json = JSON.parse(io.read) json.each do |k| k.each do |l,n| if l == "url" then b.goto n elsif l == "title" then b.driver.save_screenshot DIR_NAME + NOWTIME + "_" + n + ".png" end end end end b.close end CaturePage.new.capture end
something.json
[{ "url": "http://ekubo.jp/", "title": "ekubo" }, { "url": "http://noma.today/", "title": "noma" }, { "url": "https://theuniversim.com/", "title": "theuniversim" }, { "url": "http://www.kazmia.co.jp/", "title": "kazmia" }]
これを実行すると、こんなのができます。
- 20150906085649_kazmia.png
- 20150906085649_noma.png
- 20150906085649_theuniversim.png
- 20150906085649_ekubo.png
ただ、左側側が少し切れてたり、スクロールするとページが変わっていくタイプには弱いです。。。
できたファイルは、Pinterestに入れておくのもいいかもしれませんね。 www.pinterest.com