最終更新: 2014-12-05T17:24+0900
と思うわけです。単行本を買うほどの作家の数は知れてるので、それでも破綻はしないけど、もうちょっとなんとかならんのか。
漫画の新刊はまんがの森か太洋社か漫画王倶楽部でチェックできるし、文庫は太洋社か漫画王倶楽部で、ノベルスは漫画王倶楽部で。文庫の中でもラノベならラノベの杜〜新刊案内〜でチェックできる。
新書と単行本(と CD)が穴だ。
新刊.netや e-honの新刊パトロールが一つの答え。でも検索条件を登録するのが面倒で、頑張ってもマイベスト作家トップ10をチェックするぐらいが関の山だろう。
Plagger使って出版社のサイトを定期的にスクレイピング。出版社の数だけプラグイン用意して、HTMLや URLの変更に追随しつづけるぜ、なんてのは考えるだけでお腹いっぱいです。
ブックスケジューラーというソフトが既に存在していた。Amazonで検索できるのはもちろん、bk1、e-hon、角川、芳文社、太洋社プラグインなども備えている。vCalendarや iCalendarとして出力もできるようだ。検索キーワードを必ず指定する必要があるみたいだけど、100や 200のキーワードを登録しても Amazonは平気だろうか? (太洋社や出版社のサイトは問題ないと思うが)。設定はテキストファイルで、GUIを通さずに検索キーワードを大量に追加できるだろうか?
Flinker.jpは著者にフォーカスした Webサービス。「ブックマーク」した著者の新刊を取得できる。単なるキーワード検索ではなく、利用者の手を借りて著作リストやシリーズもののグループ化などを正確なものにしていく仕組みがある。問題は著者ページが存在しない場合は申請しないといけなくて、ページが追加されるのは翌日になること。この時間差のハードルは大きい。表記の揺れなどで同一著者について複数のページが立つのを避ける意味もあるだろうし、新着著者リストがspamリストになる危険性もあるだろうけど、面倒だよ。面倒だよ。検索で著者ページが見つからなかったときは、Wikiのように、新規作成画面を表示して即座にページを追加できるようになると良い。何百という著者をブックマークして新刊をチェックするような使い方はできそうにない。始まったばかりだからなのか、どちらかというと、サービスを利用したい人より、著作データベースを作るぞ、という気概を持った人の方を向いている気がする。
Amazonには「持っている」本を多数教えてあるので、一肌脱いでいただきたい。「新刊著者の既刊を持っている」なんて情報は売り込みの参考として有望そうに思えるが。どうですか? あるいは新刊のリストが手に入れば自分でフィルタリングするが。
14日に「新刊のリストが手に入れば自分でフィルタリングするが」と書いたのを受けて、Amazon E-Commerce Serviceの 2007-06-13版のドキュメントを眺めてみた。
特定の BrowseNodeに属するニューリリースを取得することが可能。Booksという BrowseNodeも存在するので、本のニューリリースを取得できる。但し US locale限定。JP localeで使用できるようになれば本命。
検索条件を一つ以上与えないといけないので、BrowseNode=465610 という条件を加える。465610は JP localeで Booksを表す BrowseNodeId。(但し BrowseNodeInfoで得られる、この BrowseNodeIdの Nameは「ジャンル別」となっている。HTML表示のためだろう)
これはまあまあ、Amazonがどれくらいの数のクエリを許してくれるかを度外視した上で、成功した。ドキュメントには ItemPageパラメータは 1-400だと書かれていて、1ページ目の 2009-01発売の本から始まって、400ページ目までいってもまだ 2007-07発売の本が続いてるから、直近の新刊は取得できないかと思ったが、実際には ItemPageパラメータに上限は設けられていないようで、400ページ目以降も問題なく取得できた。
追記 エラーメッセージによると有効な値は 1から3200までだって。実際に 3300ページ目は取得できなかった。
追記:2007-09-10 9月からエラーメッセージでも 1から400までが有効だと言われた。実際に 3200ページ目は取得できなくなっている。ドキュメント通りになってしまった。
但し、この方法で取得できない本があった。BrowseNodeが全ての本に設定されてるわけじゃないものね。この本は「ジャンル別」(BrowseNodeId=465610)ではなく「出版社別」の BrowseNodeにしか属していない。どの BrowseNodeにも属していない本だってあるだろう。
BrowseNodeに依存する案1と案2では漏れがでることがわかった。
これは「author」「ISBN」「keyword」「language」「pubdate」「publisher」「subject」「title」というキーワードと「not」「and」「or」「:」「()」「""」「*」という構文要素からなる複雑な検索が行える。例えば、Power=author:"米澤 穂信" なら著者(Authorや Creator要素。Roleは関係なさそう)に「米澤 穂信」を含む本が取得できる。これで Power=pubdate:2007-07*を検索してやろうというわけだ。
結果は、先のリンクをクリックすればわかるけど「リクエストに該当する結果がありません。」とのつれないお答え。Power=pubdate:2007-07や Power=pubdate:2007-07-23でもダメなところを見ると、ドキュメントでは気付かなかったけど、pubdateキーワードがサポートされてないんじゃなかろうか。(US localeではもちろんサポートされてるだろう)。ガックリ。
コミックは比較的早め(それでも 1〜2週間前)に登録されるが、文庫は前日から数日前が多い。単行本は知らない。 速報性は求められないので、毎日、当日発売の本をチェックするのが妥当。
【続きを読む前に予備知識】 発売日 2007-06-31〜2007-06-01〜2007-06の本が含まれるのは現時点で 5?0から 15?0ページ目までの約1000ページ。
ひと月約1000ページとして 2000ページ目までには今月の刊行物が全て収まってるとする。 特定の日付の始まりか終わりの含まれるページを見つけるのに約11回(log2(2000)≒10.9)のクエリ。 そこから一つずつインクリメント(デクリメント)すること 30回(1000÷31)もあれば次の日付が現れるだろう。
平均して一日あたり 40回程度のクエリで当日発売の本が取得できる。(前述の通り「ジャンル別」の BrowseNodeに属していない本は漏れるが)
発売年月の情報しか持たない本については、どのタイミングで追加されるかわからないので、漏れとクエリを最小にするには、月が変わってから取得する必要がある。月が変わってから……。
Amazonを 25回呼び出して得られたのが以下の23日発売の本たち(といっても半分以上が雑誌だが)。25回の内訳は 2007-07-23が現れる最初のページを見つけるまでに 11回。データ取得に 14回。同じページを重複して取得するのを避けたら 1〜数回は呼び出しを減らせる。ラブやんがきちんと引っ掛かってるので自分的には成功。
これ、毎日起動してもいいのかな……かな?
毎日 01:00前に自動更新。リストは Amazon.co.jp NewReleasesにアップ。
最近になってまたちょくちょくディスプレイへの信号が途絶えるようになったのだが、どうやらケース内のセンサーの値が 56℃を超えるタイミングで起こっている様子。熱で取り返しの付かない損傷を受ける前に自ら停止しているのだと思えばそれは結構なことなのだが、もうちょっと踏ん張ってくれる(確かめてないけど)新しいのが欲しくなった。
買ってからちょっと調べてみた。
何で X1650でないのかとか、何で Radeon HDじゃないのかとか即行でケチが付いたわけだけど
という条件があったのだから仕方がない。Vistaは個々のウィンドウの(重ね合わせる前の)デスクトップ画面をビデオメモリに持つらしいから、メインメモリ(DDR 2GB)にはみ出さないようにメモリは多い目がいいかと、考えた。
スペースキーやページダウンキーで Webページを読み進めていくと、次のページ、といったリンクが最後にあるのはよくあること。Tabキーでそこにフォーカスを持って行こうとすると、サイドバーを上から下まで辿り本文を上から下まで 辿りする羽目になるのもよくあること。うんざりです。
Firefoxでスクリプトからフォーカスを順(逆)に辿るには
document.commandDispatcher.advanceFocus(); document.commandDispatcher.rewindFocus();
を使えばいいらしいが、onfocusイベントでこれらを使ったのではページは既にスクロールしてしまったあと。DHTMLの onfocusinのタイミングでフォーカスをスキップしたい。userCrome.jsでちょちょいと何とかならんものか。
マウスが手許になくなったとき恒例のぼやきでした。