- "今日" の 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]