2chのdat落ちスレッドの中で自分がどうしても読みたいスレッドは●なりモリタポなりを使って取得すべきです。が、そこまではしたくない、でも最後までよみたい、程度のスレッドも多々あります。これを解決するためにGet2chを作りました。
作る上でネックになるのは次の三点です。
datの保存
datは容量食いです。しかも現在進行形でガンガン増えていきます。逐一貯めていくよりも、必要な人が探してdatを回収できるだけの手段を提供、に機能を限定します。
巡回動作
2chからdatを持ってくる時に、登録されたスレッドURLに対してHEADしてGETして差分を取得、という流れはスレ登録数が増えたときに破綻します。クローリング用のミラーサーバがある板はまだいいですが、cronでスクリプトを動かして〜という一連の動作の中に収めるには2chに対する連続アタックになってしまいます。
datのビュアー
サーバにdatを引っ張ってくる場合には自前のnonyuで読み込ませればいいです。しかし、nonyuは本当に必要最低限の機能しかないので、あまり便利ではありません。(そして、datを引っ張ってこない かつ ビュアーは自前 の場合、直近の何スレッドかをキャッシュすることになりますが、その辺イマイチよく理解できていません。ビュアーで読むたびに毎回相手にアクセスしに行くのが不経済なことはわかります。)
選択肢とフリーライド
自前のサーバにdatを保存する一番オーソドックスなやり方は保存・巡回の二点から却下です。そうすると、他者のサービスにフリーライドする選択肢か諦めるしかなくなります。選択肢は二つ。snapshot2chとp2.2ch.netです。
snapshotはurlをGETで投げるとその時点での中身を保存してくれます。ビュアーも用意してあるので、保存・ビュアーの二点は解決します。しかし、巡回動作が難しいです。仮に登録スレが50あるとしたら、結局毎時50回それも短時間にGETすることになってしまいます。
p2.2ch.netはスレッドを読み込んだらそのスレッドを保存してくれます。この点はsnapshotと似ています。しかし、各スレを読み込む以外に、お気にスレに登録したスレッドはワンクリックでまとめて巡回することが可能です。この機能を利用します。ただし、dat落ち後にp2.2ch.netで読み込み済みのdatの取得は可能ですが、p2.2ch.netのビュアーで見ることは出来ません。
よって、p2.2ch.netの巡回でdatを取得しておいて、別のビュアーで見るのが現実解です。
ビュアーについても同様です。前述の理由からこちらも他者のサービスにフリーライドします。com-nika.osask.jpでは2chのスレッドを表示することが可能です。また、該当スレッドがdat落ちしている かつ p2.2ch.netにdatがある場合にはp2.2ch.netから保管して表示してくれます。
さらに、●・モリタポ以外で取得したdatは短期間のうちにp2.2ch.netから削除されます。ですので、datは冷めないうちに取りにいかなくてはいけません。これにはmirrorhenkanが役立ちます。
まとめ
以上が他人のふんどしサービスget2chの説明になります。大きなサービスより小さなサービスという方向性は間違ってないはずですが、しんどいところ全部フリーライドなのは問題問題。作るのは勝手だけど公開するのはやめてよ、って言われそう。
各所に怒られたらサービスは終了です。もちろん怒られない程度のアクセス頻度・上限数に設定してますが、こればっかりはどうにも。文句言われるほど利用者来るかな。来ないだろうな。
最近のコメント