[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: mew-shimbun.el (Very alpha ^^;)



>> On Mon, 22 Oct 2001 11:00:21 +0900 (JST)
>> 「白井」== shirai@rdmg.mgcs.mei.co.jp (Hideyuki SHIRAI (白井秀行)) said as follows:

土> ML archive などの静的なコンテンツについては問題ないと思うのですが、
土> 同じ URL でも取得したタイミングによって内容が変わってしまうような
土> 一部のニュースサイト(CNET など)や日記類については、取得済コンテン
土> ツの妥当性検査が必要になるので難しい…。

白井> simbun-headers の戻り値を使って新規性を判断できればいいんですけ
白井> どね。ちょっと考えてみます。

shimbun-headers() の戻り値は、単に表紙ページだけを参照して生成されてい
ることが多いので、かなり難しいと思います。

該当記事のファイルスタンプと、(w3m-last-modified URL) の値を比較する、
などの方法が簡単なのではないでしょうか。どちらにしても、既に取得されて
ファイルとして保存されている記事を、置換するという MUA 固有の処理が必
要になると思います。


白井> 新しい方から 2000個持っていれば OK なのかな? shimbun の理解が浅
白井> いので判断出来ないのですが。

過去に取得済みの記事の ID リストは、同一記事を再取得してしまうことを防
ぐために用いられるのと同時に、記事リストの新着部分判定に利用されます。

例えば、あるメーリングリストのアーカイブの記事リストのページが以下のよ
うに3分割されていたとします。

    mail.html   X-ML-Count: 401〜
    mail1.html  X-ML-Count: 201〜400
    mail2.html  X-ML-Count: 1〜200

ここで、新規購読開始時は mail.html / mail1.html / mail2.html の3つの記
事リストページの全ての情報が必要になりますが、その後は mail.html に新
たに追加された記事へッダのみを取り出せれば良いので、mail.html を最初か
ら調べて、既に取得済みの記事が現れた時点( shimbun-mua-search-id() が 
non-nil を返した時点)で停止すれば良いわけです。

とすると、基本的には取得済みの記事の中でも最新の記事についてだけ、ID 
を記憶しておけば良いようですが、一部のニュースサイトのように、記事の表
示順序が入れ替わったりするような場合には、それでは不十分だということに
なります。

ただし、無期限に ID を保持しておく必要はありません。各 shimbun バック
エンドは expire 期限の情報を持っていて、shimbun-article-expiration-days()
で取り出すことができます。一般的に、設定された期限が経過した後は、記事
リストページから記事本文へのリンクは削除されると考えられますから、期限
後は、安全に ID を削除できるはずです。

殆んどのバックエンドについては (> 2000 (* expiration-days 1日記事数)) 
が成り立つと思うので、十分なのではないでしょうか。

-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )