WWW 自動巡回ソフト

                        RoboGet.X ver0.20

                                            programmed by Mitsuky



● このプログラムは


  URL ファイルで指定されたファイルをダウンロードします。再帰的にダウンす
る事が可能です。



● インストール


  環境変数 WEBCACHE にダウンロードしたファイルを保存するディレクトリ名を
指定して下さい。ディレクトリ名の最後に '\' が必要です。

例)set WEBCACHE=A:\WEBCACHE\

  多数のファイルを保存する事になるのでハードディスクのサブディレクトリを
指定するのが良いと思われます(ご存じかと思いますがルートディレクトリには
あまり多数のファイルは置けません)。

 後は RoboGet.X をパスの通ったディレクトリにコピーすればOKです。



● 使い方


  X680x0 を TCP/IP が使える状態にします。最も簡単な方法は激光電脳倶楽部
5号インターネット特集をインストールし、lynx.x を起動する代わりに 
RoboGet.x を起動することです。


RoboGet [option] URL...

[option]
-f数値  : 指定したファイル数ごとに WebCache.env を保存する(デフォルト = 32)。
-r数値  : 再帰数(デフォルト = 0 : 再帰しない)。
-v      : 詳細表示モード

URLは複数指定できます。


例)
        RoboGet -r3 http://www.mankai.co.jp/index.htm

  指定された URL から3階層を再帰的にダウンします(リンク先のファイルもダ
ウンします)。


  ver0.20 からは前もってファイルのタイムスタンプを取得し、更新されたファ
イルのみダウンロードをするようにしました。



● 「再帰」について

  次のような構造の HTML があるホスト www.foo.co.jp があったと仮定します。
index.htm には画像ファイル jpg1.jpg と gif1.gif がリンクされ(≒貼り付け
られ)、sub.htm へのリンクが指定されています。更に sub.htm には sub1.gif
と sub2.gif がリンクされています。

  www.foo.co.jp
        |
        |-index.htm
        |   |
        |   |-jpg1.jpg
        |   |-gif1.gif
        |   |
        |   |-sub.htm
        |   |   |-sub1.gif
        |   |   |-sub2.gif

  index.htm をダウンロードしたい場合は、

        RoboGet http://www.foo.co.jp/index.htm

  と指定します。これだけでは index.htm に貼り付けられている画像ファイル
は読み込まれません。そのような場合に -r オプションを指定します。

        RoboGet -r1 http://www.foo.co.jp/index.htm

  とした場合、「指定されたファイルから直接リンクされたファイルまで」をダ
ウンロードします。この場合、jpg1.jpg/gif1.gif/sub.htm がこれに該当します
(もちろん index.htm もダウンロード対象になります)。

        RoboGet -r2 http://www.foo.co.jp/index.htm

  とした場合、「指定されたファイルからリンクされたファイルから更にリンク
されたファイルまで」を対象にします。この場合、sub1.gif/sub2.gif まで対象
になります。

  このように階層構造を持ったファイルをまとめてダウンロードしたい時に -r
オプションを指定します。



● 実行中のキー操作


[ESC] : ファイルの転送を中断します(中断した後、次のファイルの転送を開始
します)。

[BREAK] : RoboGet.x を終了します。



● キャッシュファイルについて


  インターネットでは Human68K で使われている 18+3 文字のファイル名を越え
たファイルが多数存在するため、RoboGet.x では常にこれを 'C0000001.HTM' の
ようなキャッシュファイル名でダウンロードします。


  環境変数 WEBCACHE で指定されたディレクトリには元のファイル名とキャッシュ
ファイル名との対応を記録した WebCache.env というファイルが生成されます。
キャッシュファイル名を元のファイル名に変更したい場合はこれを見て手動で復
元するか、支援ツール WebCM.x を使用してください。



● メッセージについて

・再帰先が親ファイルです : 再帰しません

  index.htm から sub.htm にリンクしていると仮定します。sub.htm 中に「戻る
ボタン」があり、index.htm にリンクしているとします。その場合、

        index.htm -> sub.htm -> index.htm

のようにリンクするのは明かに無駄ですから、再帰を行いません。


・WebCache.env を保存しています

  RoboGet.x 終了時または -f オプションで指定した数だけファイルを受信した
時、 このメッセージが表示されます。RoboGet.x の暴走などで(今のところあり
ませんが)、 WebCache.env が保存されないまま RoboGet.x が終了してしまうと、
「受信したファイル本体は保存されているのに WebCache.env が保存されていな
い」ような事態が発生します。この被害を最小限に食い止めます。



● コメント


  現在はロボット排除基準に準拠していないという少々マナー違反なプログラム
です(WWW において、このような自動巡回型プログラム(ロボット)を好ましく
思わないサーバーのために「ロボットはアクセスを控えて欲しい」という情報が
サーバーから得られますがそれを利用していません)。完成版までにはなんとか
対応する予定です。


  RoboGet.x と WebCM.x を併用するとちゃんとファイル名とタイムスタンプを保
存したままダウンロードすることができます。というかこれがやりたくて作った
んですが。但し、元のファイルのタイムスタンプが不明の場合は保存されません。
これは仕方ないですね。



● 今後の予定(は未定)


・もっとインテリジェントなダウンロード。例えば 10KB 以下の .GIF ファイル
  はダウンしない、とか(サムネイル画像はいらないという人向け)。

・ポート番号への対応(scheme://hostname:port/)。

・HTTP エラーコード 300 番台(移転告知)への対応。現状ではエラー扱い。

・ftp への対応。

・ロボット排除基準に準拠。

・SWELLFISH.SYS への対応。



● 配布規定


 配布&改造自由のフリーウェアです(連絡の必要はありません)。

 また、大変申し訳ありませんが、本プログラムは無保証であり本プログラムに
起因するいかなる損失にも免責とさせて頂きます。



                                                    満開製作所/山口光樹


(EOF)