2019年4月21日日曜日

空き時間に合わせて本を一冊、無作為に青空文庫の公開中の作品から提案するページ

あまりにもgoogle app engine上でphpを動かすのが私でも楽過ぎたので、調子に乗って表題のようなものを作ってしまいました。
見てくれは地味で恐縮ですが、こんな感じです(javascriptで動作します)。


今回の一冊 🔄
リクエスト中...


ご希望の読書量は:
+その他の検索条件  
児童書は?
旧字は?
旧かなは?
読みたいジャンルは?
著者名(and,or,notは正規表現でお願いします)


とりあえず何でもいいからランダムに一冊選べるといいなあ、とずっと思っていたのですが、ついでに時間をつぶしたい時間を指定できればいいかな、と思って作ってみたところ、思いのほか気に入ったので、さらに提案機能をオリジン間リソース共有可能なAPI化して公開してみました。
この上の画面は、そのAPIをajaxで呼び出して実装しています。

作品が気に入らなかったらリロード絵文字(絵文字が見えない場合は「今回の一冊」という行)をクリックしますと、読書時間に合わせた別の作品を提案します。

それにしても、こういう一発ネタも膨大なデータをそろえて公開してくれている人や組織、団体様あってこそでございます。
今回は青空文庫さんからGitHubさん経由でデータを拝借して実現できました。
ありがとうございます。

geocitiesや大学のサイトなどで公開されている作品は除外しましたが、提案候補は一万五千冊を超えてます。
すごい。

なお、この例のようなデータを取得するAPIの詳細についてはこちらをご参照ください。
お読みいただいてありがとうございました。

---
2019/07/13 選択対象元リストを表示する機能(Selection candidate listボタン)を追加しました
2019/08/27 著者名を正規表現(perl互換)を用いて絞り込む機能を追加しました。

1 件のコメント:

  1. 素晴らしい! BigFarmがらみからこちらを見つけましたが、利用させていただきます。ありがとうございます。

    返信削除