● 2003.04.09(水)01 Beeに新機能 「スケジュール」

Web廃人(?主にBee製作者)向けのツールであるDownload & Search Beeの1.14をリリースしました。今回の目玉は、何と言っても「スケジュール」機能です。

これまでBeeは、ダウンロードや検索したいページから、そのリンク先を根こそぎダウンロードするという使い方ぐらいしかできませんでした。(私は全然違う用途で使っていましたが)

しかし、今回からスケジュール機能がついたおかげで、一旦設定しておけば、Beeがエージェントのように振るまい、自動的にダウンロード作業を行ってくれるようになりました。

実際に設定した画面を例に、このスケジュール機能がどんな機能かを紹介します。


スケジュール

この画面は、孫ニュース系サイトとして有名な俺ニュースというサイトに対して行った設定です。

具体的にどういった設定にしたかと言うと、毎日00時00分と12時00分に俺ニュースのトップページをダウンロードしてきて、そのリンク先を全てローカルに保存するという設定です。

保存先のディレクトリ名を、「俺ニュース [year]_[month][day]_[hour][min]_[sec]」と設定してあるので、毎日2回、「俺ニュース 2003_0308_1200_01」といった名前のディレクトリを作成して、ログを取っていくことになります。

このダウンロードの設定は、スケジュールの種類ごとに指定可能です。例えば、毎日2回、俺ニュースからはリンク先の記事を全部ダウンロードさせ、月曜日の早朝、日本のネット使用率が極端に下がっている時間帯を見計らい、画像系掲示板から全画像データをダウンロードさせ、頻繁にチェックしたい文字ベースの掲示板では、特定のスレッドのデータを30分ごとに保存する……。

などといったことが可能になりました。

面倒臭がりやの私が、なるだけ早く実装したかった機能です。ようやく実装しました。だいぶ遅くなりました。


● 使い方

実際の細かな設定はどうやるかというと、「Beeお気に入り」という機能を使います。

Beeでは、ダウンロード先や検索語、通信の設定や細かな拡張設定などを、「Beeお気に入り」というINIファイルにまとめてパッケージすることが可能になっています。

使い方は簡単で、まずメイン・ウィンドウの「作業カテゴリ」で「DL&検索 初期化」を選びます。次に、メニューから「お気に入り」を選び、「追加」の項目を選べば終了です。

選んだ時点でのダウンロード設定やダウンロード先が、全部まとめて1つのファイルに保存されます。

このデータは、メニューの「お気に入り」→「Beeお気に入り」に格納されます。そのため特定のダウンロードの設定を、「お気に入り」→「Beeお気に入り」から、いつでも呼び出し可能になります。

スケジュール機能では、以下の3つの設定を行います。

  • 「Beeお気に入り」に登録された設定を選択する。
  • ダウンロード開始時間を設定する。
  • 保存先のディレクトリ名を決める。

以上で設定は全て終了です。後は、メイン・ウィンドウを閉じておけば、自動的にスケジュールに合わせて起動してダウンロード作業を行ってくれます。

たとえ、ソフト使用者が旅行で留守にしていようと、寝込んで倒れていようと、友達とボードゲームを遊んでいようと、作業を全て自動で行ってくれます。自動化万歳。

(余談 Beeでは、IEのお気に入りをそのまま取り込んでいます。そのため、普段巡回しているニュースサイトなどのURLは、「このフォルダ以下を全て開く」という項目(タブブラウザにはよくありますが)の選択で、ダウンロード・リストにまとめて追加できます。けっこう便利です)


● スケジュール機能実装に伴う使用の変更・追加

スケジュール機能に合わせて、少し仕様が変更されたり、追加されたりしています。

1番大きな変更点は、ページ内の埋め込み画像やスクリプトなどを、HTMLファイル自体と同じ深度とみなすようになったことです。

Beeの機能を知らない人には、何のことやらと思うことでしょうが、Beeではリンクを1つたどるごとに、深度という値をプラスしていきます。この深度を利用して、何深度までリンクをたどってダウンロードするかなどの設定をおこなえます。

以前までは、フレーム内のHTMLファイルだけを同じ深度とみなしていました。それに対して、ページ上の画像や、スクリプトファイル、音声データなどは、+1深度していました。

そのため、HTMLページをダウンロードしたのに、後でそのページを見てみると、そのページの画像が深度違いでDLされていない、ということが頻繁に起こっていました。

ちょっと不便だなあ。ということで仕様を変更しました。ページ内の画像なども、同じ深度として、まとめてダウンロードするようになりました。

また、その他の変更もあります。Beeでは過去にダウンロードしたファイルへの上書きができませんでした。これは、基本的に、ダウンロードするたびに新しいフォルダを作る方針だったためです。(最新のファイルを取るのが目的ではなく、過去ログを取って行くのが目的でしたので)

しかし今回からは「スケジュール」機能が追加され、保存先をユーザーがかなり自由に設定できるようになりました。そのため、毎回ダウンロードのたびに、同じディレクトリを使うユーザーが増える可能性が出てきました。

例えば、どういうシーンが想定されるかと言うと、ニュースサイトのトップページだけは毎回ダウンロードして、そのリンク先は古いファイルがればダウンロードしないなどといった使い方が考えられます。

そこで、URLに特定の文字列が含まれる場合のみ、上書きを行う設定も追加しました。

(余談 その他、DL対象外URL文字列やDL上書きURL文字列で、文字列の末尾判定もおこなえるようにしました。これはトップページに対して特殊な振り分けを行いたい時に威力を発揮する仕様です)


● 最後に

Beeはもともとかなりマニアックなツールでした。ただ用途はかなり限定されていました。しかし、今回の「スケジュール」機能の実装で、かなり利用度の高いツールになったと思います。

スケジュールを設定できる数に制限を設けていないので、かなり複雑なダウンロードスケジュールも組めるようになっています。

また、スケジュールが重なったときや、前のスケジュールが終わっていないときは、次のスケジュールの実行をキューにため、前のスケジュールが終わり次第実行するようにしています。そのため、特定のスケジュールが飛ばされるということもありません。ただしこの場合、開始時間が遅れてしまうことになりますが(^^;

他にも、色々とバグを取ったり、改良したりしています(--;

だいぶ用途の幅も広がりましたので、試しに使っていただければと思います。そして、バグ報告とか頂けると嬉しいです(^^;

レトロゲームファクトリー
顔貌売人 ハッカー探偵 鹿敷堂桂馬
裏切りのプログラム ハッカー探偵 鹿敷堂桂馬
紹介文
紹介文
紹介文
紹介文
紹介文
紹介文
紹介文
マンガで分かる
JavaScript
プログラミング講座


マンガで分かる
Java入門講座