WEBサービスkindleなんかはゲリラ的に無料セールを行う上に情報が取りにくいので特化したものを作った。厳密には作ったまま放置していたのを最近動かしはじめた。yahoo!ブックスから無料電子書籍を検索できます。構成その名を聴かなくなって久しい(?)MEANで学習用に夏くらいに作りました。Openshiftで動かしてます。楽天APIリクエスト用クライアントサイドcoffeeで書いてた。無限スクロールやってることnode-cronで定期的に書籍データをとりmongoDBにつっこむnode-cronで制限に引っかからない程度の周期で、書籍データの取得を行いmongoDBを更新していっている。無料電子書籍は期間限定のものなど無料から通常価格へ移行するものがあるので、走査後に更新がなかったものは削除している。Kindleからの取得kindleはapacでMaximumPriceを0にして取ってきている。昔は一つの検索条件で4000商品取得できたようだけど、現在は10件×10ページの100商品しか取得できないため、検索条件を変えながら走査している。Kindleはカテゴリ毎にブラウザノードと呼ばれる番号があるのでそいつを指定しながら走査していった。categoryはこっちで勝手に定義したもの。これでも、小説などはパブリックドメインのものが大量にあり、走査しきれていない。著者名などで検索するなどの工夫がいりそうだけど、面倒でやってない。あとリクエストの制限は2000request/hourなんだけど、1request/5secくらいでもちょくちょく弾かれるので注意。Koboからの取得シンプルにURL組み立ててrequestで取ってきてる。Amazonより高速で件数もとれるのでいいんだけど、キャッシュのせいか突如商品の順序が入れ替わる問題がある。あるカテゴリの商品を1〜10ページを走査しているときに5ページ目走査後順序が入れ替わり、6ページ目移行に1〜5ページで走査完了済の商品が登場したりする。走査回数を増やしたりして、網羅性を高めているんだけど、取りこぼしは発生していて根本対策にはなっていない。Yahoo!ブックストアからの取得cheerio-httpcliでのんびり取ってきている。cheerio-httpcliは記事にしたこともあるけど、かなり便利。以下でyahoo!のニュース一覧をとってこれる。$(this).text()作ってみてあくまで自分にとってはだけど、ノイズが多く感じた。各カテゴリでfeed吐くようにして興味のあるカテゴリだけ購読すると便利かも。重複を放置しているとはいえ15000点以上の無料書籍が登録されており、まじか、ってなった。他にも電子書籍サービスはいくつもあるんだけど、ほとんどKindleで網羅されており、Kindleすごいってのと他のサービス大丈夫か?って感想が同時によぎった。kindle最強では。洋書も対応したほうがよいかも。12引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。