- "今日" の Outputz 結果を Twitter に POST する - A More Beautiful day
http://d.hatena.ne.jp/gtaka555/20090527/p1
がよさげだったので,パクってみました.
日が変わってから実行するように,
元ネタとは違って前日の結果を取得して Twitter に post します.
#!/usr/bin/ruby19 -Ku require 'mechanize' require "date" MAGIC_WORD = '' #outputz のふっかつのじゅもん USER = '' # Twitter のユーザ PASS = '' # Twitter のパスワード def twitter_update(status) Net::HTTP.version_1_2 req = Net::HTTP::Post.new( '/statuses/update.xml' ) req.basic_auth(USER, PASS) q = "status=#{URI.encode(status)}" Net::HTTP.start( 'twitter.com' ) do |http| response = http.request(req, q) end end def get_outputz(date) agent = WWW::Mechanize.new configpage = agent.get('http://outputz.com/config/') form = configpage.forms.first form['magic_word'] = MAGIC_WORD agent.submit(form) d = date.strftime("%Y%m%d") page = agent.get("http://outputz.com/daily/#{d}") doc = Nokogiri::HTML(page.body) byte = doc.xpath("id('contentBox')/div[1]/p").to_s.scan(/[\d,]+/)[0] ranking, ranking_info = doc.xpath("id('contentBox')/p[1]").to_s.scan(/\d+/) return "#{date} の outputz: #{byte}文字.順位 #{ranking} 位(上位 #{ranking_info}%)" end yesterday = Date.today - 1 twitter_update(get_outputz(yesterday))
関連
- outputz.el を使ってみる [2008-11-23-1]
- outputz はじめてみました [2008-11-21-2]