Ruby
Excel
Leaderboard

BookAnnie(自前で簡易AppAnnie)

More than 1 year has passed since last update.

嫁が小説を出した。電子書籍サイトで配信され、そのランキングをたまに眺めるようになった。

image.png

AppAnnietableauで眺めるなど、スマートフォンアプリのランキングなどの推移を気軽に把握できるような感じで、この電子書籍のランキングも、自動取得してグラフで眺められたら知見になると思い、ツールを作った。

image.png

↑ランキングのグラフ表示はExcelのピボットチャートを利用し、毎日のランキングデータの取得はrubyで行う。

rubyのプログラミング。

open-uriとNokogiriで、ランキングのHTMLをスクレイピング。

doc = Nokogiri::HTML.parse(open(uri), nil, "UTF-8")

doc.xpath('//div[@class="ranking_area"]').each do |node|
rank = node.xpath('dl/dt[@class="hidden"]')
.text.scan(/\d+/).first.to_i
# ...
end

Excelのシートの最後の行以降に追加していく。

lastrow = worksheet.Cells

.SpecialCells(ExcelConst::XlCellTypeLastCell).Row
range = worksheet.Cells.Range("A#{lastrow + 1}")

このツールを、Windowsのタスクスケジューラに、毎日行うタスクとして登録しておく。これにて自動でランキングデータを取得し、Excelでいつでも閲覧できるようになった。

GitHubにあげておいた。

https://github.com/tomotochi/ruby-excel-bookannie