本屋にも図書館にも行かずに、著作権の切れた文学作品がタダで読める。青空文庫だ。漱石も太宰も、宮沢賢治も、全部無料で全文公開されている。「APIはあるの?」と聞かれたら、答えは「ない。でも、もっと良いものがある」だった。全作品の一覧が、1枚のCSVで公開されているのだ。ダウンロードして検索すればいい。APIキーもログインもいらない。ただし、このCSVと本文には、地味で優しい罠がいくつもあった。
起: 17,840作品が、zip1個で降ってくる
一覧は「拡張版」CSVで、zipに入って2,092,746バイト(2026-09-30実測)。開くと19,502行あった。ただしこれは作品数ではない。翻訳物は著者と翻訳者で2行になるからだ。作品IDで畳むと17,840作品、登場する人物は1,335人。宮沢賢治の『注文の多い料理店』から芥川の短編まで、日本の近代文学のだいたい全部がこの中に入っている。作品名・読み・初出・底本・図書カードのURLまで入っていて、検索はこのCSVを引くだけで完結する。
承: いちばん多い作家は誰だと思う?
カタログが手元にあると、つい集計したくなる。著者別の作品数1位は誰か。漱石(113作品)か、太宰(274作品)か。答えは宮本百合子の1,186作品だった。2位は岸田国士の641。評論や日記や書簡まで全部載るので、量産型の作家が上位に来る。文字遣いの内訳も面白くて、新字新仮名が12,130行、新字旧仮名が4,856、旧字旧仮名が2,377もある。賢治の旧仮名遣いのまま読めるということだ。あと意外なことに、著作権フラグ「あり」の作品が928件ある。著作者の許諾を得て公開しているもので、「著作権切れ専用」というわけでもないらしい。
ひとつ立場を押さえておくと、この一覧はリアルタイムではない。実測時点の最新は2026-08-21のスナップショットで、2026年に公開された作品は71件だった。不定期更新なので「最新刊が載ってない」は仕様である。
転: 本文のURLは、推測できない
ここからが罠だ。『吾輩は猫である』の図書カードは card789.html。では本文は files/789.html か? 違う。実際は files/789_14547.html だった。後ろの通し番号は作品IDと何の関係もない。つまり本文にたどり着くには、必ずカードページを1回取りに行って、リンクを拾うしかない。スキルにはそう書いた。
そして文字コード。図書カードはUTF-8なのに、本文のXHTMLはShift_JISだった。同じサイトの中で混在している。ヘッダのcharsetを見て切り替えないと文字化けする。CSVはBOM付きUTF-8で、素のutf-8で読むと先頭の列名が壊れる。さらにルビ。本文は「吾輩(わがはい)」がrubyタグの構造で入っていて、テキスト化するときに読みと括弧を要素ごと落とさないと、「吾輩()は猫である」という寂しい文ができあがる。最初の実装でちゃんとやらかした。
結: APIがないことは、欠点ではなかった
-
一覧がCSVで降ってくる世界は、APIより簡単だ。 キーも回数制限もなく、2.1MBを取れば全部手元にある。検索はローカルで終わる。
-
URLは推測せず、カードを読め。 作品IDと本文ファイルの番号は無関係。推測で組み立てたURLは、いつか静かに壊れる。
-
文字コードはページごとに違う。 カードはUTF-8、本文はShift_JIS、CSVはBOM付き。「サイトの文字コード」は存在しない。ページごとにヘッダを見る。
スキル名はaozora。作品検索・著者一覧・本文のテキスト抽出(ルビは基底文字だけ残す)までやる。kurashi-skillは公開開発中。リポジトリはここ → https://github.com/tahodev/kurashi-skill
ちなみに『吾輩は猫である』の本文は344,247文字あった。冒頭の「名前はまだ無い」までちゃんと取れているのを確認して、なぜか少し嬉しくなった。