image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« 久しぶりに amazon アフェリエイトでのお買い上げがあった | トップページ | google rtranslate を試した »

2008-03-23

祝日一覧を google から得る

- http://emasaka.blog65.fc2.com/blog-entry-289.html
> > 本を読む 祝日のリストをGoogle Calendar APIを使って作る
なんて記事を読んだ。

なぜか
  REXML::XPath.match(doc, '//entry/gd:when/@startTime')
がうまく 要素のマッチしないので、
element#attribgutes を使ってデータを得るように書き換えてみた。
以下にスクリプトと実行例を示す。

$cat holiday.rb
# See http://emasaka.blog65.fc2.com/blog-entry-289.html

require 'set'
require 'date'
require 'open-uri'
require 'rexml/document'
require 'pp'

$KCODE="utf8"

HOLYDAY_URL_PTN = 'http://www.google.com/calendar/feeds/japanese@holiday.calendar.google.com/public/full?start-min=\
%s&start-max=%s'

class HolidayList < Set
  def initialize(from, to)
    super()
    from_s = from.strftime('%F')
    to_s = to.strftime('%F')
    open(HOLYDAY_URL_PTN % [from_s, to_s]) {|io|
      doc = REXML::Document.new(io)
      REXML::XPath.match(doc, '//entry').each {|elm|
        date = REXML::XPath.match(elm, 'gd:when')[0].attributes['startTime']
        title = REXML::XPath.match(elm, 'title/text()')[0].to_s
        self << date + " " + title
      }
    }
  end
end

year = Time.new.strftime("%Y").to_i
list = HolidayList.new(Date.new(year, 1, 1), Date.new(year, 12, -1))
list.sort.each {|d| puts d}

$ ruby holiday.rb
2008-01-01 元日
2008-01-14 成人の日
2008-02-11 建国記念の日
2008-03-20 春分の日
2008-04-29 みどりの日
2008-05-03 憲法記念日
2008-05-04 国民の休日
2008-05-05 こどもの日
2008-07-21 海の日
2008-09-15 敬老の日
2008-09-23 秋分の日
2008-10-13 体育の日
2008-11-03 文化の日
2008-11-23 勤労感謝の日
2008-11-24 振替休日
2008-12-23 天皇誕生日

« 久しぶりに amazon アフェリエイトでのお買い上げがあった | トップページ | google rtranslate を試した »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/184434/40606529

この記事へのトラックバック一覧です: 祝日一覧を google から得る:

« 久しぶりに amazon アフェリエイトでのお買い上げがあった | トップページ | google rtranslate を試した »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク