■ 雑談 ■

前へ 次へ
No. 111投稿者: noris HP日付: 2002/08/20 20:57:58
題名 : 過去ログを最初から mamimi で読み取り


話題が変わってきてるので、スレッドを改めます (^^ゞ

▼ かぶねこ さん
> ここの部屋はしばらく静かすぎたので、管理人としてはうれしいです。つ
> きあってくださってありがとうございます。

いえいえ、こちらこそありがとうございます、です。
INCM で投稿できるようになったもので、
新しいオモチャを試したくてしょうがない、
子供の心境に近かったり (^_^;)

> 質問掲示板の過去の情報については、ちゃんとまとめてそっちを見ていただくほ
> うが、ほんとは訪問者には便利なんですけどね。なかなか……。(^_^;

ちょっと目先を変えて、僕も mamimi での直接読込にトライしてみました。
このテンプレートで「ページ数」を 70 程度にすれば、
一応全部読み込めるようではあります。
記事番号ばかりはどうにもなりませんが、これじゃ駄目ですかねぇ?
かぶねこ さんの「条件分岐」というのがどこを指しているのか気になりま
すし、もうこの程度のものは test 済かもしれませんが、
とりあえず掲載しておきます。

===========
[mamimi template]
Name=new01
Http=http://0ban.com/forum/read.cgi?f=22
Style=10
MesEnd=\n</TD></TR></TABLE>\n
TitleStart=題名 :
TitleEnd=</TD>
NameStart=投稿者:
NameEnd=</
DateStart=日付:
DateEnd=</TD>
BodyStart=<TR>
BodyEnd=</P>
DateFormat=1
Delim=NDTB
NextPage=次へ
NextPageLink=1

No. 112 (111へのコメント)投稿者: かぶねこ HP日付: 2002/08/21 03:18:51
題名 : Re:過去ログを最初から mamimi で読み取り

noris さん、こんにちは。

テンプレートの
NameEnd=</
のところが思いつかなかったところです。HTML のコードの単位でしか考えてな
かったんです。ありがとうございました。

記事番号を切り分けると下のようなテンプレートになります。

[mamimi template]
Style=10
Delim=CNDTB
DateStyle=%Y%M%D%H%T%S
NextPage=次の10件
PassDelim=■ 質問はここへ ■
MesStart=<A name="#
MesEnd=</P></TD></TR></TABLE>
CountStart=No.
CountEnd=</A>
NameStart=<TD nowrap>投稿者:
NameEnd=</
DateStart=日付:
DateEnd=</TD><TD align="right" nowrap>
TitleStart=<TR><TD>題名 :
TitleEnd=</TD></TR></TABLE>
BodyStart=<P style="line-height: 120%">
BodyEnd=</P></TD></TR></TABLE>
NextPage=次へ
NextPageLink=1

No. 113 (111へのコメント)投稿者: かぶねこ HP日付: 2002/08/21 03:23:24
題名 : 最新順と同じテンプレートで読み取り。

あれこれやっていて、ここの read.cgi にはスイッチがいくつかあるのを思い出
しました。表示形式、表示件数、表示開始番号などが指定できます。このスイッ
チを使えば「お知らせ」で紹介しているテンプレートをそのままで過去ログをい
くつかに分けて読み込めます。

noris さんご指摘のように、逆順表示で全部のログを表示させるのは、件数が多
くなってくると避けるべきです。1ページの表示件数は多くても 100 件くらい
が適当だと思います。

また、テストしていて、t=16 というスイッチは単純に逆順表示ではないことを
発見しました。なんと(!)、c=100 などと表示開始番号を指定すると、昇順に
なります。ということは、

http://0ban.com/forum/read.cgi?f=22&t=16&c=100&no=1
http://0ban.com/forum/read.cgi?f=22&t=16&c=100&no=101
http://0ban.com/forum/read.cgi?f=22&t=16&c=100&no=201

というふうに1回ごとに URL を変更して読み込めば、現在の「質問掲示板」の
625 件も7回で過去ログ取り終了です。mamimi は発言は自動的に発言日時で古
い順にログにしますので、読み込む HTML が昇順でも逆順でも結果が同じなんで
すね。

この方法ならログの整合性も問題がないので、過去ログ取りが終わったら URL
http://0ban.com/forum/read.cgi?f=22&t=16&c=20 に変更すれば、そのまま
続行して巡回できます。

スイッチの f は会議室番号、16 は表示形式、c は1ページ表示件数、no は表
示開始番号です。

しかし、もっとずっと件数が多くなると……。mamimi のページめくり機能を使
っって最初から読むほうが楽かもしれまんね。

No. 114 (113へのコメント)投稿者: かぶねこ HP日付: 2002/08/21 03:25:50
題名 : Re:最新順と同じテンプレートで読み取り。(訂正)

>c=100 などと表示開始番号を指定すると、昇順になります。

ではなく、n=101 とか n が表示開始番号です。

No. 115 (114へのコメント)投稿者: かぶねこ HP日付: 2002/08/21 03:26:57
題名 : Re^2:最新順と同じテンプレートで読み取り。(さらに訂正)

>>c=100 などと表示開始番号を指定すると、昇順になります。
>
>ではなく、n=101 とか n が表示開始番号です。

ではなく no=101 など no です。(何度もすみません。)

No. 116 (115へのコメント)投稿者: noris日付: 2002/08/21 06:50:42削除済 返信
題名 : Re^3:最新順と同じテンプレートで読み取り
No. 117 (115へのコメント)投稿者: noris HP日付: 2002/08/21 07:00:19
題名 : Re^3:最新順と同じテンプレートで読み取り


▼ かぶねこ さん
> NameEnd=</
> のところが思いつかなかったところです。HTML のコードの単位でしか考
> えてなかったんです。

そうでしたか。タグを入れる場合は閉じた形で、とヘルプでは注意が記され
ているので、確かにちょっとイレギュラーな手段ではあるんですけどね。

> 記事番号を切り分けると下のようなテンプレートになります。

いやぁ、v0.30 から離れてかなり経つもので、記事番号を独立して
取得できるのはテストバージョン以降と勝手に決めつけておりました。
お恥ずかしいです (^^ゞ

……ん? となると後述の、t=16 形式で取得する通常の場合も、

[mamimi template]
Http=http://0ban.com/forum/read.cgi?f=20&t=16&c=20
Style=10
MesStart=<HR>
NameStart=投稿者
DateStart=投稿日
BodyStart=<BLOCKQUOTE>
BodyEnd=</BLOCKQUOTE>
DateFormat=1
Delim=CTNDB
CountStart=No.
CountEnd=

としたほうが番号が独立して取得できてベターかもしれませんね。

> 表示形式、表示件数、表示開始番号などが指定できます。このスイッチを
> 使えば「お知らせ」で紹介しているテンプレートをそのままで過去ログを
> いくつかに分けて読み込めます。
> (〜〜中略〜〜)
> t=16 というスイッチは単純に逆順表示ではないことを発見しました。

おぉ、これは大発見ですね!

私も拙作の Plug-in では、
通常表示の方で c や no といったスイッチは使ってたんですが、
t=16 形式の方と組み合わせては試したことがありませんでした。
これなら、URL 変更の手間はあるとしても、
同じテンプレートで行けるというのは確かに大きなメリットですね。

なお、自動でページ進めできる場合に限っての話ですが、
私の環境だと結果的には c=20〜30 くらいが読込が一番サクサク進みました
です。これ以上多くなると CGI 側でデータを返すまでのタイムラグが大き
くなって、かえって全体として時間がかかってしまう感じがあります。

そういうわけで前回は c は特に指定しなかったのですけど、
t=16 形式の方だと URL 変更の回数との兼ね合いがありますから、
確かに c=100 あたりが適当ということになるんでしょうね。

No. 118 (117へのコメント)投稿者: かぶねこ HP日付: 2002/08/21 21:24:08
題名 : Re^4:最新順と同じテンプレートで読み取り

noris さん、こんにちは。

mamimi のバージョンとかにはまったく配慮していませんでした。うちは 0.3093
なんですが、仕様は正式な(?)テストバージョンとして作者のサイトで配布さ
れている 0.309 と同じなのかなあ。mamimi はかなり前に開発が止まってるので、
使ってるほうも導入の経緯なんかは忘れてしまっていまして……。正式版 0.30
でも同じか、ちょっとテストしてみないといけませんね。

> [……] としたほうが番号が独立して取得できてベターかもしれませんね。

あ、そうですね。気がつかなかったのかな。ログ内容の好みだったかも。番号を
別に取得すると、mamimi で昇順でページめくりして過去ログを取得したあとに、
テンプレートを入れ替えて最新ログを逆順で取るようにしても、ログの形式に齟
齬が出ませんよね。URL を変更しつつ、というのはたいへん面倒ですから、そっ
ちのほうがいいですね。

>なお、自動でページ進めできる場合に限っての話ですが、
>私の環境だと結果的には c=20〜30 くらいが読込が一番サクサク進みました
>です。これ以上多くなると CGI 側でデータを返すまでのタイムラグが

なるほど。解説にまとめるときは、自動だと 20 くらいに設定、というふうに、
書きます。

なお、112 番でわたしが書いたテンプレートは「初心者掲示板」のみに有効な
「パス位置」が書いてありますので、これは削除したほうがいいですね。また、
noris さんのテンプレートみたいに「最小の有効な一致」で書いたほうがいいか
な、という気もします。

いずれにしても、当初じぶんで考えていたよりずっといい方法が見つかってうれ
しいです。noris さんのおかげです。m(_ _)m

No. 119 (118へのコメント)投稿者: noris HP日付: 2002/08/22 08:11:04
題名 : Re^5:最新順と同じテンプレートで読み取り


▼ かぶねこ さん
> mamimi のバージョン(〜〜中略〜〜)うちは 0.3093なんですが

おや、同じバージョンでしたか。
その話が出なかったので v0.30 なんだろうな、という前提で書いてました。
先に伺っておけば良かったですね。

テストバージョンの方は、サイトで配布されているのが v0.309 までで、
あと公式掲示板で仮公開された v0.3093 & v0.3094 という3つが比較的多
く使われているバージョンみたいです。

厄介なのは、これら各バージョンを使って、同じテンプレートで読み込んで
も、細かいところで解釈が違うのか、読み取り結果が違ってくることがある
ことなんですよね。
ですので逆に言うと、同じ掲示板を読むためにはバージョンによってテンプ
レートが違ってくるということになり、
結局、公式掲示板でテンプレートを紹介する際は、必ずバージョンも明記す
る、というような(ちょっと奇妙な)慣習ができています (^^)
http://www5.a-nets.co.jp/iboard5/cgi-bin/mkres2.cgi?ratedk

というわけで、やっぱりバージョンの違いというものに注意を払わないとま
ずいみたいなんですけど、でもこの辺をあまりしつこく念押しすると、逆に
ライトユーザーの方は混乱しちゃうことになりそうですし。
# 私はそういうところが面倒でメインが INCM になっちゃったという面も (^_^;)

ま、結局は、v0.30 で使える物だけ置いておいて、以降のバージョンについ
ては必要があれば各自質問ください、というのが、
結論としては無難かな、と個人的には思います。
一応私が前回までに載せたのは v0.30 でテスト済でした。
mamimi はレジストリを使わないので、いろいろなバージョンを試したいと
いう場合には別のフォルダに置いておけば問題ないですね。

ところで v0.3093 用には、最初から取得していくパターンで、
投稿者のHP も取得できて、簡易スレッド表示もできるぞ、
というテンプレートも作ってたんですけど、
t=16 表示で通常巡回する際のログと整合性が無くなるので、
結局ホントの「保存版」ログ作成にしか使えないですねぇ。
t=16 表示の方も、通常と同じ形式で、親記事番号とHPを出力してくれると
問題ないんですが……。
まぁともかく参考までにということで載せておきます。
なお、最後の RefStart/RefEnd の2項目は手入力する必要があります。

[mamimi template]
Http=http://0ban.com/forum/read.cgi?f=22
Style=10
Delim=CrNHDTB
DateStyle=1
NextPage=次へ
NextPageLink=1
MesEnd=\n</TD></TR></TABLE>\n
TitleStart=題名 :
TitleEnd=</TD>
NameStart=投稿者:
NameEnd=</
DateStart=日付:
DateEnd=</TD>
BodyStart=<TR>
BodyEnd=</P>
HomeStart= 
HomeEnd=HP
CountStart=No.
CountEnd=</
RefStart=(
RefEnd=へのコメント

===========

> いずれにしても、当初じぶんで考えていたよりずっといい方法が見つかっ
> てうれしいです。noris さんのおかげです。m(_ _)m

いえいえ。直接的にはあまりお役に立てなかった気がします (^^ゞ
でも、3人寄ればなんとやら、といいますが、
2人で意見を出し合えばそれなりにいい方向に向かうものですね。
初めてネット上で「有意義」な議論ができたような感じがします(^^)。
こちらこそありがとうございました。

No. 120 (100へのコメント)投稿者: noris HP日付: 2002/08/22 14:05:12
題名 : ここ用の INCM P-in 公開開始しました


araken さんから許可をいただきましたので、
送信可能な正式版 Plug-in を公開開始しました。
http://www.r66.7-dj.com/~noris/

>かぶねこ さん
もしよろしければ、なにかのついでにでも「管理者よりのお知らせ」の方で
ご紹介いただけると嬉しいです(← あつかましいですね ^^ゞ)

次へ
現在の既読番号は 0  既読を


メールアドレスを表示するにはURLの後ろに &m=5c614cb8 をつけてください。
ユーザー フォーラム一覧

http://www2k.biglobe.ne.jp/~araken/
http://0ban.com/araken/