ruby で epubを パースする: epub-parser

epub の画像ファイル名を連番に修正するのrubyプログラムを真面目に書き直そうと考えた。とりあえず epubの xml 構造をパースしようと調べて見付けたのが epub-parser

メンテナンスがされているようなので使ってみた。かなり便利なので、自前でパーサーを作るより断然おすすめ。

ドキュメントはModule: EPUB — Documentation by YARD 0.9.37

epubをそのまま扱うこともできるし、unzipしたフォルダを扱うこともできる。

こんな感じで使うことができる:

require 'epub/parser'

book = EPUB::Parser.parse('example.epub')

book.manifest.each_item do |item|
  puts item.media_type
end