#!/usr/bin/env ruby # -*- coding: utf-8 -*- # カレントディレクトリに現在までのメイソのログを拾うスクリプ㌧ # 既に拾ってるものについてはスキップする # ネットにあるものを適当にパクッてるのでオリジナルじゃない require "date" # gem install openurl してから require 'open-uri' # 日付の初期化 date_from = date_to = nil # ログが㌧だ日は2013年3月14日 begin # 20130314 を Date 型に(治)す date_from = Date.parse("20130314") # 今日 date_to = Date.today rescue STDERR.puts "failed. #{$!}" exit 1 end puts 'Syncing...' # whlie で今日を基準日として2013年3月14日から日毎に回すよ base_day = date_from while (base_day <= date_to) # 日付をメイソログの8桁数字に整形するよ str_ptn = base_day.strftime("%Y%m%d") glob_ptn = "^#{str_ptn}.html" # カレントディレクトリ内にループ中の日のログがカラの時は # メイソからダウソローディングするよ if Dir.glob(glob_ptn).empty? # 拾う # ura は concat 文字列結合により指定 ura = 'http://meiso.s147.xrea.com/logz/' << str_ptn << '.html' # 本日のログは中途なのでアンスコを履かせるよヽ(´ー`)ノ if str_ptn == Date.today.strftime("%Y%m%d") dlfile = '_' << ura.split(/\//).last else dlfile = ura.split(/\//).last end # ura を開いてダウソローディング begin open(ura) do |source| open(dlfile, "w+b") do |o| o.print source.read end end puts ura << ' Finished.' rescue OpenURI::HTTPError => ex puts 'Error ' << ura << ' was not found.' end end # base_day++ base_day = base_day.succ end puts 'ok terminated.' # 20130412 w # 20130415 ダウソロード時のエラー処理追加