Namazu-win32-users-ja(旧)


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

Re: Namazu にての検索結果をテキストファイルに



小嶋です。

>namazu.exeというのは、Dosコマンドでの事ですよね?
>そうなると、ASPよりDosコマンドを発行するようにすればいいのですか?

namazu.cgi.exeの出力をtextファイル等に吐き出すことが可能かどうかは
本当のところは私は判りませんが、少なくともnamazu.orgは普通に使って
いれば標準出力に出力しているし、リダイレクトも出来るでしょう。最初
のご質問にとんとさんも書かれていたように、ファイルへ出力するための
optionもあります。ということで、namazu.exeを使うと言うことを前提に
先の投稿は書いてあります。

で、ASPからコマンドを実行するには、という点で、Basp21.dllとかが必要
なんじゃないかな?と書いたわけです。詳しくは、
http://www.ho-ho.ne.jp/babaq/basp21.html#0029
をご参照なさるのが得策かと。

>namazu -o C:\text.txt "値" c:\namazu\var\namazu\index\soki
>と、ちょくにコマンドを入力してみたのですが、以下の様なHTML形式の結果が返っ
てきました。
>これでは、どの様にすればファイル名とURLの取得をすればいいのかわかりませ
ん。

で、必要部分の切り出しですが、これに関しては、まぁ、namazu.exeが
検索結果を出力したファイルを読み込みながら、マッチする部分を拾っ
ていくという作業なわけです。

とんとさんが実行してみた結果の出力では、どうやら、URLは検索にか
かったファイルについての一群の記述の中では最後に書かれており、
(つまり、次の行は、改行しかない)さらに、問題の行の行頭はhttp:
で始まるので、切り出すのはそんなに難しいことではないと思います。
また、ファイル名はこの文字列中の最後の"/"から後がそうですよね。
もっとも、この例では先に (551 bytes)となっている部分を切り捨てる
必要があるでしょうけれど。

まぁ、その前に、ファイル名とURLしか要らないのならば、余分なものを
書き出して欲しくないでしょうから、NMZ.result.hogeを適当に書き直し
て、--result=hogeというoption指定をした方が良いかもしれません。
この場合、要約や著者、日付を書き出してますが、不要ですよね。
私は書き換えたことがありませんが、Document類や過去LOGなどを参考に、
Tryして見ては?(上の段落で書いた、邪魔なファイルサイズ記述部分も
出力させないように出来るはずです)

で、これをVBScriptで読み込み、うまく必要部分を変数に入れられるか
のテストは、ASPじゃなくても、素のままのVBScriptでやれますから
(CScriptとかで)いろいろ、試してみるのが良いかと思います。

小嶋@青森県