Bathtub w/ Aid は正規表現を利用する汎用ダウンローダーで、プリプロセッサに相当する BathAid とダウンロードエンジンの Bathtub から構成されています。
プリプロセッサに相当する BathAid はターゲットサイトをWeb表示しハイーパーリンク/バナーをクリックするだけでエンジンに供給する正規表現パターンを生成します。正規表現に触れたことの無い人でも簡単に Bathtub を利用することができるようになりました。
Bathtub w/ Aid には次のような特徴があります。
・プリプロセッサ BathAid により正規表現を意識せずに簡単操作で正規表現パターンを生成可能
・URLやWeb titleに応じて保存フォルダを変更してアイテムの自動仕分け保存を提供
・ダウンロードエンジン Bathtub は正規表現パターンによる柔軟性の高いダウンロードを提供
・連番URL、ファイルリスト(Fileモード)による省力化ダウンロードを提供
・URL取得の条件設定や階層管理で無駄なアクセスを最少化して効率的なダウンロードを提供
・ダウンロードエンジン Bathtub とプリプロセッサ BathAid が相互呼び出し機能で連携
※正規表現には流派がありますが、Microsoftの.NET Framework の正規表現に準拠しています。
その関連サイトを次に記します。
https://msdn.microsoft.com/ja-jp/library/hs600312(v=vs.110).aspx
https://msdn.microsoft.com/ja-jp/library/az24scfc(v=vs.110).aspx
正規表現は普段なじみの無い方にはBathtubを使う上での障害になります。せっかくの汎用ダウンローダーも正規表現パターンなくしては何の役にも立ちません。
本アプリは、汎用ダウンローダー Bathtub に必要なPageURLとItemURLの正規表現パターンを簡単な操作で作成するもので、ダウンロードエンジンBathtubに対するプリプロセッサ的な位置付けになります。
通常のWeb操作でアイテムをダウンロードするにはサイトのリンクを辿り目的のアイテムをクリックして行いますが、それと似た操作でBathtubを使う上で必要な正規表現パターンを作成することができます。
その基本操作は、アプリのWeb画面③に表示されるサイトのハイパーリンクやバナーを左クリックしてそのURLを取得し、取得したURLを正規表現に置き換えてパターン化するものです。
同時に親ページを階層0とした階層管理を行い、適切な階層で働くパターンを作成します。
本アプリにブラウザに似たWeb画面(アプリ画面上の③)がありますが通常のブラウザのようなWebサーフィンはできません。ハイーパーリンクやバナーを左クリックしてもリンク先にジャンプすることはなく、パターンが作成されます。
リンク先へジャンプするには、リンクを右クリックすると表示される「xxxxリンクを開く」なるメニューが3つありますが目的に応じてこれをクリックします。また、Shiftキーを押しながらリンクを左クリックしてもリンク先へジャンプできます。
アプリ作者はダウンロードエンジンBathtubの機能を使ってパターンを作成していましたが、BathAidを使ってみて予想以上の効用にびっくりしています。大抵のサイトはBathAidを使えば正規表現を意識せずにダウンロードできそうです。BatuAidリリースに当たりBathtubとの一体化も考えましたが、ダウンロードしている最中に他のサイトのパターンを作成する場合やBathrubの機能をフルに利用する場合もあると考え敢えて別アプリとしました。
サイトによってはhtmlを動的に書き換えているケースがあります。
通常のWebブラウザであれば特に気に掛ける必要もありませんが、ダウンロードエンジンのBathtubにはWebブラウザ機能が無いためhtmlの書き換えには対応できず正しいhtmlが得られなくなり、Webブラウザ表示と対応しなくなり結果として望むリンクを辿ったりダウンロードができないことがあります。
このような制約に対応するためBathAidは内部的に二つのhtmlをハンドリングしています。一つはWebブラウザに則してhtmlの書き換えに対応するhtmlで、他方はBathtubに合わせたhtmlになります。
Webブラウザに対応したhtmlからはリンクのURLを抽出し、Bathtubのhtmlで該当するURLを含むタグを抽出して正規表現パターンを生成しています。
BathAidを使っていて、リンクのパターン化に失敗しする場合はhtmlの書き換えが疑われます。そのようなURLはBathtubでハンドリングすることはできませんのでご了承ください。
本アプリではタブを利用していますが、タブはリンクを辿る階層を管理する重要な役割を担っています。
Buthtubはサイトの親URLに対する階層を見て正規表現パターンの適用を判断し、指定された階層以外では無効としています。
BathAidでは、タブに階層番号付記しそのタブに記述された正規表現パターンが有効となる階層をパターンごとに割り当てる仕組みになっています。
1.タブの働き
タブは全部で13あり、階層番号は0から始まり最大9まで使用できます。
左端のタブは連番URL専用になっています、左から2番目のタブは固定的に第0階層が割り当てられます。初めてアプリを立ち上げたとき、他のタブは未使用の状態で立ちあがります。ターゲットURL欄にURLをドロップした時にも他のタブは初期化されます。
通常Webのリンクを辿るたびに階層は深くなりますが、本アプリではリンクを一つ辿る動作が一つのタブに記録する恰好になっています。タブの階層番号は深さを示します。
一つのタブに記録できるのは、一つのPageURLと一つのItemURLです。一つのページから複数の異なるリンクを辿ることもあり、その場合はタブを必要なだけ複製し、それぞれ異なるリンク先のパターンを作成することで対応します。
2.新しいタブと階層番号
通常新しいタブは操作メニューを実行する中で作成されますが、タブをクリックして意図的に新しいタブを作成できます。
タブは左詰めで使用します、未使用のタブをクリックすると、左隣の階層番号より1つ深い階層が割り当てられそのタブに切り替わり使用状態になります。間をあけ未使用のタブをクリックすると「タブは左から順に使います」と警告が出ます。
タブを単独で初期化して歯抜け状態になっても警告は出ません。次のタブ使用の時に歯抜けが埋められます。
タブの階層番号は変更することができます。『階層変更』の0~9のボタンをクリックするとタブの階層表示がその番号に切り替わります。「Clr」ボタンをクリックすると現在のタブが初期化され未使用状態になり、左隣のタブに移動します。
3.タブに保存される情報
タブにはそれぞれの、階層、URL、RefererURL、Pageパターン、Itemパターン、パターン作成時の条件が保存されます。
タブを切り替えると保存されている内容でタブが再現されます。同時にURLも切り替わりそのURLにアクセスします。
タブごとの設定内容と対応するURLはアプリ終了まで保持されます。
これら設定内容は⑥保存ボタンをクリックして(⑤プロジェクト名).txtファイルに保存することができます。保存する前に各タブに記録されているパターン一覧が表示されます。
⑥読み込みボタンで 保存してある設定内容を読み込んで再現することができます。
なお、このファイルはBathtubでも読み込むことができます。Bathtubには不要な情報もありますが、正規表現パターンの受け渡しの一つの方法として利用できます。
4.本アプリの出力としてのパターン
本アプリの出力はPageURLとItemURlの正規表現パターンになります。
Bathtubではパターンの有効階層を指定して無駄なアクセスを最少化しています。パターン出力に当たっては全パターンと階層を調べ同じパターンは統合し、パターンが有効となる階層情報を付加して出力としています。
本アプリの各部名称と機能概要は以下の通りです。
①ターゲットURL
ここにURLをドロップするとアクセスが始まります。ブラウザのURLアイコン或いは反転したURLテキストをドラッグ&ドロップします。
URLがドロップされると全てのタブが初期化され、第0階層タブが選択されてドロップされたURLのWebが表示されます。
②Webアクセスボタン
①欄に記載されたURLにアクセスします、URLを手入力したときにクリックします。URLはその時のタブに記録されます。
Webアクセス中(ボタンが回天矢印のとき)にこのボタンをクリックするとアクセスが中断されます。中断された状態でパターンを作成すると正しいパターンを得られない可能性があります。
③Web画面
①に記載されたURLにアクセスした結果が表示されます。通常のブラウザのようにリンクをクリックしてそこにジャンプすることはできません。この画面はリンクのURLを拾うための画面になります。
リンクを左クリックするとそのURLが正規表現パターンに変換され、⑪、⑫のいずれかにパターンが表示されます。
また、リンクを右クリックすると操作メニューが開きます。詳細は(4)Web画面右クリックメニューをご覧ください。
Web画面で特定のリンクにジャンプしたいときがあります、右クリックして「xxxリンクを開く」メニューを選択するか、Shiftキーを押しながらリンクをクリックすることでリンク先にジャンプすることができます。
④前後ボタン
ボタンをクリックして閲覧したURLを前後できます。タブに記録されているURLには関係なくWeb画面が切り替わります。
前後ボタンで移動したWeb画面でパターンを作成しようとすると、タブの登録URLと異なる旨の警告が現れます。この状態ではパターン作成は出来ませんので、警告に従い現在の表示画面のURLをタブの登録URLとするか、タブに登録されているURLの表示に戻す必要があります。
登録されているURLのWeb画面に戻すには、現在のタブを右クリックして「現在のタブに登録されたURLを開く」を選択します。
⑤プロジェクト名
全てのタブに記録された内容、パターン作成結果をまとめてプロジェクトとして管理するための名称です。この名前を使ってプロジェクトの保存、読み込みを行います。
⑥プロジェクトの保存・読み込み
プロジェクト名を使って全タブの記録内容の保存、読み込みを行います。
アプリを再立ち上げすると、前回読み込まれていたプロジェクトが再現されます。現在の状態を次回の立ち上げ時にも使用したい場合はプロジェクト名を設定し保存しておく必要があります。
⑦TopMostボタン
本アプリを常に最前面に表示するための設定ボタンです。背景色が黄色のとき最前面表示であることを示します。
⑧設定ボタン
設定メニューで動作条件を設定します。詳細は(6)設定メニューをご覧ください。
⑨Bathtub起動ボタン
本アプリからBathtubを起動するためのボタンです。
Bathtubを起動するときに、作成した全パターンを送信します。但し、Bathtubがダウンロード動作中の場合には、送ったパターンはBathtub側で無視されます。
⑩階層タブ
サイトのリンクを辿る時の階層に対応したタブで、1つのタブに1つのPageURLとItemURLを記録することができます。
タブ上で右クリックすると操作メニューが開きます。詳しくは(5)タブ右クリックメニューをご覧ください。
左端のタブは連番URL作成のためのタブです、それ以外はパターン作成のためのタブになります。
⑪PageURLパターン
作成したPageURLの正規表現パターンが表示されます。
⑫ItemURLパターン
作成したItemURLの正規表現パターンが表示されます。
⑬PageURL条件設定
PageURLパターン作成の意図表明とパターン作成時の条件設定をします。PageURLにチェックが入っているときはPageURLのパターンが作成されます。そのときの条件設定は以下の通りです。
共通語句付加
パターンの識別率を上げるために2つのURLを比べ共通する語句を平文でパターンに埋め込みます。共通語句を抽出するために2つのリンクをクリックするように求められます。その後共通語句とする文字列の反転指示が求められます。
設定メニューで語句の文字数を制限することもできます。
String w/ Keyword
Bathtubの「String with Keyword」機能を使うための設定です。この設定を有効にするとKeyWordが求められます。
条件設定は複数個所で出来ますが、KeyWordは一つしか設定できませんので注意が必要です。
また、複数回KeyWord指定をした場合、最後に指定したKeyWordが有効となります。
Child
Bathtubの「Child」フォルダ機能を使うための条件設定です。 ボタンによるChild指定とは異なり、パターン作成に用いたリンクのタグ内に記述された文字列の一部をフォルダ名に使用します。
この指定があるときリンクをクリックするとフォルダ名に用いる語句を反転して指定するように求められます。この指定は文字列そのものの指定ではなく、文字列の位置関係を指定するものとなっています。反転した文字列の位置に来る文字列がフォルダ名に用いられます。
[Title名Sub]
パターン作成には関与しません、アイテムの仕分け保存に寄与します。
Bathtubでアイテムをダウンロードするときに、アイテムのリンクが記述されたhtmlのtitle以下の記述をフォルダ名にして保存のSubフォルダを生成しそこに保存します。
この設定はタブ(階層)に関係なく全体設定として機能し、⑨Bathtub起動ボタンで起動するときにパターンと一緒に送信されます。
・ +Childボタン
htmlの記述の中の、title以下の文字列、或いはリンクのハイパー文字列をChildフォルダ名に使用するための機能でPageURLに対してのみ有効です。
Child指定のあと、現在のWebサイトに対してパターン照合が実行されキャプチャできるURL一覧が表示されます。
使い方は4-(9)[+Child] ボタンによるChild指定(PageURLのみ)をご覧ください。
⑭ItemURL条件設定
ItemURLパターン作成の意図表明とパターン作成時の条件設定をします。ItemURLにチェックが入っているときはItemURLのパターンが作成されます。そのときの条件設定は以下の通りです。
共通語句付加
パターンの識別率を上げるために2つのURLを比べ共通する語句を平文でパターンに埋め込みます。共通語句を抽出するために2つのリンクをクリックするように求められます。その後共通語句とする文字列の反転指示が求められます。
設定メニューで語句の文字数を制限することができます。
String w/ Keyword
Bathtubの「String with Keyword」機能を使うための設定です。この設定を有効にするとKeyWordが求められます。
条件設定は複数個所で出来ますが、KeyWordは一つしか設定できませんので注意が必要です。
また、複数回KeyWord指定をした場合、最後に指定したKeyWordが有効となります。
直貼り
アイテムがリンクの無い直貼りの場合、ItemURLと直貼り2箇所にチェックを入れてからアイテムを左クリックします。
アイテムを右クリックしてメニューから「Itemパターンを登録」を選択すると、自動的に直貼りを判定しItemURLと直貼り両方に自動的にチェックが入り、パターンを作成します。
・保存フォルダ
パターン作成のための設定ではなく、全体設定で、Bathtubのアイテム保存フォルダを指定するものです。
⑨Bathtub起動ボタンでBathtubを起動するときにパターン類とともに送信されます。
図ではフォルダ名表示が見当たりませんが、保存フォルダボタンの右側に表示されます。
⑮タブ階層指定変更
タブに自動的に割り当てられる階層を変更することができます。「階層変更」に並ぶ数字チェックをクリックするとその数字が示す階層に変更されます。
「Clr」ボタンでそのタブだけを初期化することができます。タブを初期化するとその左側のタブが有効になり表示が切り替わります。
⑯初期化ボタン
タブ全体を初期化します。階層0のURLだけはそのまま維持されます。
⑰Pat取り消し
PageURLまたはItemURLのパターン欄を消去します。表示されているタブ内で有効です。
⑱Pat一覧
現在のプロジェクト内の全パターンを一覧をタブごとに表示します。
表示されるパターンの先頭にある数字はそのパターンが有効となる階層を示しています。また、パターンが記録されているタブの表示階層数と一致します。
⑲Pat照合
表示中のWeb画面に対して現在のタブのパターンを使いパターンマッチを実行し、キャプチャできた結果を表示します。
キャプチャできたURLがPage、Item別に一覧表示されま、現在のパターンの有効性を確認することができます。
パターン照合結果画面で表示されたURLのリストを「List出力」ボタンでファイルに書き出すことができます。
書き出されるファイルは.txtファイルでBathtubの「Fileモード」で使用できます。ファイル名を指定して保存します。同じファイル名がある場合は追記されます。
⑳タグ・タイトル表示
URL変更時にはそのURLのタイトル、パターン作成時には作成に供したhtmlのタグ、右クリック時にはそのリンクのハイパーテキストが表示されます。
サイトによってlは、htmlの中のキャラクタセット表記と実際に使われているキャラクタセットが異なる場合があり、文字化けを引き起こすことがあります。文字化けの有無はこの欄に表示される漢字を含むWebTitleで確認できます。
左にあるボタンはhtmlのキャラクタセットにより発生するURLのタイトルに見られる文字化けを解消するためのボタンで文字化けが無くなるまでクリックします。ボタンにマウスカーソルを重ねると現在のキャラクタセットが表示されます。
文字化けはパターン作成に影響有りませんがサイトのタイトルが正しく表示されるようにここで調整することをお勧めします。。
サイトによっては番号が連続したURLを使っているところがあります、ブログ系サイトに多く見られます。そのようなサイトの各URLに簡単にアクセスするために用意されているのが連番URLです。数字部分が連番として扱われます、数字部分が1か所の場合は簡単に連番化できますが、複数個所ある場合正規表現を使って連番化します。その作業を自動で行うためのタブです。
①先頭番号
連番の先頭番号を指定します。
②末尾番号
連番の末尾番号を指定します。
③連番ステップ
連番のステップを指定します。
④連番URL
①~③を指定してからURLをクリックするとBathtub w/ Aid に適合する連番URLが得られます。⑨Bathtub起動ボタンでBathtubに送信されます。
⑤クリックしたURL
クリックしたURLが表示されます。
⑥連番初期化
タブ全体を初期化します。階層0のURLだけはそのまま維持されます。
⑦連番取り消し
連番タブ野登録内容を取り消します。
⑧パターン一覧
現在のパターンの一覧を表示します
⑨現行URL
現在表示されているURLが表示されます
Web画面のリンクにマウスカーソルを重ね右クリックすると次のメニューが開きます。
そのリンクにハイパーテキストの記述がある場合、⑳のタグ・タイトル表示欄にハイパーテキスのト内容が表示されます、同時に表示欄の名称の先頭に○印が表示されます。
なお、このハイパーテキストは左クリックの場合にも表示されますが、瞬時にタグ表示やパターン表示に切り替わってしまいます。ハイパーテキストを表示する場合は表示欄先頭の○印をクリックします。
1.Pageパターンを登録+下の階層でリンクを開く
マウスカーソルを重ねたリンクでパターンを作成し、タブに記録します、更に一つ深い階層の新しいタブに移動し、マウスカーソルを重ねたリンクにジャンプしタブにURLを記録します。
ItemURLに設定されているときは強制的にPageURLに切り替わります。
共通語句付加が選択されている場合2つ目のリンクをクリックするよう求められます。
2.下の階層でリンクを開く
一つ深い階層の新しいタブに移動し、マウスカーソルを重ねたリンクにジャンプし新しいタブにURLを記録します。
ItemURLに設定されているときは強制的にPageURLに切り替わります。
3.Itempパターンを登録
マウスカーソルを重ねたアイテムのリンクのURLをパターン化します。
直貼りアイテムの場合、自動で判定しパターン化し、PageURLに設定されているときは強制的にItemURLに切り替わります。
リンクがアイテムのリンクでない場合も辻褄を合せてパターン化しますので、アイテムのリンクであることを確認してから使用してください。
4.この階層でリンクを開く
タブの移動は行わず、マウスカーソルを重ねたリンクにジャンプします。現在のタブにURLが記録されます。
5.このリンクを現タブの右隣に複写
マウスカーソルを重ねたリンクのURLを現在の隣のタブに複写します。
6.【管理外】 このリンクを開く
マウスカーソルを重ねたリンクにジャンプします。URLはタブには記録されません。(管理外の所以)
7.第0階層タブへ戻る
第0階層(左から2番目のタブ)に移動します。
マウスカーソルを重ねたリンクのURLを含むタグとそれに続くタグ3つを表示します。パターン作成機能には寄与しませんが、パターン確認、修正などで使います。
Childフォルダにハイパーテキストを使用する場合、タグに続けて記述されるテキストを確認したり、タグの記述内容を見ながらパターンを微修正する場合に用います。
タブにマウスカーソルを重ね右クリックすると次のメニューが開きます。
1.空きタブに現在のタブを複製
新しいタブに現在のタブの内容を複写して、新しいタブに移動します。
2.右隣のタブに現在のタブのURLを複製
右隣のタブに現在のタブの内容を複写して、右隣のタブに移動します。
3.現在のタブに登録されたURLを開く
現在のタブに登録されているURLを開きます。【管理外】のリンク移動や前後ボタンでWebを移動したときに本来のタブのURLに戻るときに使います。
4.現在のタブに表示中のURLを登録
表示されているWeb画面のURLを現在のタブに登録します。
5.第0階層タブへ戻る
左から2番目のタブ(第0階層)に移動します。
⑧の設定ボタンをクリックすると次のメニューが開きます。
1.共通語句の最大文字数指定
2つのURLの共通語句を取得して平文でパターンに埋め込むときに平文の最大文字数を指定します。
サブメニューで 、5文字、10文字、15文字、成り行き から選べます。成り行きは共通指定された文字全部になります。
2.最小限の正規化(≒べた書き)
URLをパターン化するときに正規化を最小限にとどめる設定です。冗長度が低くなります。
3.非Query URLの#以降を温存
Queryが付かないURLに限りますが、URLの末尾に#で始まるページ内リンクが付くことがあります。 通常は拡張子迄でそれ以下はカットしていますが、この設定でページ内リンクを温存することができます。
4.Queryの表記を折りたたむ
<Child>指定が無いときにQueryが付くURLのQuery部分を折りたたみパターンを短くすることができます。
5.フレームを検出したら選択する
BathtubはWebブラウザのようにフレーム構造のhtmlには対応していませんので、フレームのhtmlにリンクが記述されている場合にはリンクを扱うことができません。
通常のサイトでは最初に読み込まれるhtmlに目的のリンクが記述されていることが多く見られますが、時として別フレームにリンクが記述されているケースもあります。その時はそのフレームのhtmlを読み込まなくてはなりません。
この設定はサイトがフレーム構造になっている場合に読み込むフレーム(html)を選択するためのものです。
ここにチェックがある場合、サイトのhtmlがフレーム構造になっていると記述されているフレームのURL一覧が表示されます。そこで読み込むフレーム(html)を選択することができます。
なお、チェックの有無にかかわらずサイトがフレーム構造になっている場合、操作ガイド欄の上の[Frame]表示が赤色に変化しフレームがあることを示します。
このフレーム選択機能はサイトの起点URL(左から2番目のタブ)に対してだけ有効で他のタブでは働きません。フレーム構造であることを示す[Frame]表示は先頭URL以外でも表示されます。
6.類似タグが存在するときは選択する
正規表現パターン作成に際してはクリックされたリンクのタグを取得していますが、内部的にWeb画面のhtmlからクリックされたリンクのURLパターンを取得して、Bathtub用htmlの中からURLパターンに合致するタグを探し、合致したタグを元に正規表現パターンを作成しています。
時として二つのhtmlのタグ内のエレメントの記述順序が異なることがあります。そのような時にはリンクから得られたURLパターンに合致するタグが得られないため使用するタグを選択する必要があります。
この設定がOffの場合は、自動的に最初に抽出したタグを選択して正規表現パターンを作成します。
この設定がOnの場合は、抽出したタグ一覧を表示して適切なタグを選択します。通常、タグ内のエレメントの表記順序が異なるだけなので、同じエレメントを持つタグを選べばほぼ正しい正規表現パターンが選べます。意図的に異なるパターンのタグを選択することもできます。
このようなタグの選択が求められるのは稀でめったにお目にかかることが無いかもしれませんが、作成した正規表現パターンで目的のURLがキャプチャ出来ないときなどは、自動的に選択したタグが適切でなかった可能性もあります。そのようなときにこの設定でリンクに附合した複数のタグを表示し、その中からタグを選択することができます。
7.操作ガイドアプレットは表示しない
本アプリでは、操作時に誤操作を知らせるアプレットの他に操作ガイドのアプレットが開きます。操作ガイドはタブの左端にも表示されます。この設定で操作ガイドのアプレットを非表示とすることができます。
8.確認表示画面のインデント設定
Pat一覧、Pat照合などの標示はWeb表示画面を使います、その時の画面レイアウト(インデント)を変更することができます。開く画面で数値指定します。
9.フォントの設定
Web画面を除くアプリ画面のフォントを変更することができます。サイズは固定です。
基本的な操作手順は以下の通りです。
0.他のサイトのパターンを作成していた場合には⑯初期化ボタンをクリックして全タブを初期化します。
サイトのURLをターゲットURL欄にドロップすれば自動的に初期化されます、作成をやり直す時に使用します。
1.ターゲットサイトのURLを①ターゲットURL欄にドロップします。Webアクセスが始まりサイトが表示されます。
2.スタート時点の階層は0になります。この階層でダウンロードするアイテムがある場合⑭ItemURLを選択します。
アイテムを右クリックして開くメニューの『Itemパターンを登録』を左クリックするとItemパターンが登録されます。
3.バナー/ハイーパーリンクのPageURLをパターン化するには、⑬PageURLを選択しリンクを左クリックします。
デフォルト設定のままなら同じ種類のリンクをクリックするように促してきますので、同種のリンクを左クリックします。
更に、共通語句とする部分を反転するように促してきますので共通語句を反転し⑲共通語句ボタンをクリックします。
共通語句が組み込まれたPageパターンが登録されます。
4.同じリンクを右クリックして『下の階層(タブ)でリンクを開く』をクリックして、新しいタブでリンクのURLを表示します。
以上2~4 が一つのページでのリンクの辿り方になります。複雑なサイトもこの組み合わせで対応することができます。
3、4の操作はリンクを右クリックしてメニューの『Pageパターンを登録+下の階層でリンクを開く』をクリックすることで操作をまとめることもできます。
応用1.1つのページに異なる種類のPageリンクがある場合、そのタブの複製を作りPageリンクを別々に辿ることで対応できます。タブの複製は、タブを右クリックしてメニューの『空きタブに現在のタブを複製』をクリックすると作れます。
応用2.通常Itemのダウンロードのリンクは各ページ内で完結しますが、URLがItemの拡張子になっていてItemのダウンロードリンクのように見えて、実はページリンクになっていることもあります。その場合は通常のPageURLと同じように操作して次の階層でダウンロードします。
基本となる操作手順は、3.操作で示した通りですが、
1.左クリックでPage/ItemURLのパターン化
2.右クリックで『Itemパターンを登録』
3.右クリックで『下の階層でリンクを開く』
の3つが基本操作になります。
4. Shiftキーを押しながらリンクをクリックすると通常のWebブラウザのようにそのリンクにジャンプすることができます。
(1)【基本操作】:リンクを左クリックしてパターン化 (PageURL、ItemURL共通)
共通語句付加、
String w/ Keyword (、
Child 、
直貼り)
1. ターゲットURL欄にURLをドラッグ&ドロップするかURLを手入力して地球ボタンをクリックします。
2. RadioButtonのPageURLかItemURLのどちらかを選択します。
3. いずれの場合もWeb画面に表示されているリンク(バナー/ハイパーリンク)を左クリックします。
そのURLがピックアップされ「クリックされたURL」欄に表示さます。
4. そのURLがパターン化され「パターン」欄に表示されます。
※この方法では直貼りされたアイテムのリンクはパターン化されません、直貼りにチェックを入れ同じ操作をするとパターン化されます。
または、右クリックメニューで『Itemパターンを登録』をクリックします、直貼りを自動判別してパターン化されます。
共通語句付加、
String w/ Keyword、
直貼り
1. ターゲットURL欄にURLをドラッグ&ドロップするかURLを手入力して地球ボタンをクリックします。
2. RadioButtonのItemURLを選択します。
3. Web画面に表示されているリンク(バナー/ハイパーリンク)を右クリックしてメニューを開きます。
4. メニューの『Itemパターンを登録』を左クリックします。
5. 直貼りアイテムもリンクアイテムも自動判別してパターン化され「ItemURLパターン欄」に表示されます。
共通語句付加、
String w/ Keyword 、
Child
1. ターゲットURL欄にURLをドラッグ&ドロップするかURLを手入力して地球ボタンをクリックします。
2. RadioButtonのPageURLを選択します。
3. Web画面に表示されているリンク(バナー/ハイパーリンク)を右クリックしてメニューを開きます。
4. メニューの『下の階層(タブ)でリンクを開く』を左クリックします。
5. 空いているタブに切り替わり、1階層深い階層に設定され、クリックされたリンクのURLにジャンプします。
(4)Shiftキーを押しながらリンクをクリックしてそのリンクへジャンプする
単独でリンクをクリックするとそのURLを取得しPageURL或いはItemURLのパターンを作成するのに供しますが、
Shiftキーを押しながらリンクをクリックすると通常のWebブラウザのようにそのリンクへジャンプすることができます。
このとき、そのタブに登録されているURLも更新されます。
どの階層のタブでも有効ですが、階層とURLの関連性が失われますので注意が必要です。
共通語句付加、
String w/ Keyword、
Child
上記(1)と(3)の複合操作です。
1. ターゲットURL欄にURLをドラッグ&ドロップするかURLを手入力して地球ボタンをクリックします。
2. RadioButtonのPageURLを選択します。
3. Web画面に表示されているリンク(バナー/ハイパーリンク)を右クリックしてメニューを開きます。
4. メニューの『Pageパターンを登録+下の階層(タブ)でリンクを開く』をクリックします。
すると、そのリンクのURLがパターン化され、空いているタブを探して切り替え、1階層深い階層に設定し、リンクのURLにジャンプしてWebが表示されます。上記(1)と(3)の複合動作になります。
共通語句付加、
String w/ Keyword (、
Child)
二つのURLを比べてその共通語句を正規化せず平文でパターンに組み込む機能です。URLの識別率が向上します。
1.. 『共通語句付加』にチェックを入れます。
2. 1つ目のリンクを左クリックすると、2つ目のリンクをクリックする旨メッセージ欄に表示が出ます。
3. 2つ目のリンクをクリックすると、2つのリンクのURLを末尾側から比較し共通語句を抽出して、指定文字数内でパターンに組み込まれます。
通常は、href="(?<URL>.+\.html)" のようにURLのほとんどが任意文字に置き換えられますが、これだとハンドリングする必要のないURLもキャプチャすることがあります。効率Upのためには余分なアクセスを減らすことですが、共通語句を付加することでこれに寄与します。
共通語句付加、
String w/ Keyword (、
Child)
Bathtubの指定文字列内に指定Keywordを含むURLをピックアップする機能を利用する設定です。
1. .『String w/ Keyword』にチェックを入れます。
2. リンクをクリックするとそのURLが記述されたhtmlのタグ全体を対象に<String>のGropus名で組み込まれます。
3. アプレットが開き Keyword の入力を求めてきますので適切な語句を指定します。
※この指定は複数個所で利用可能ですが、KeyWordは一つしか指定できません。
共通語句付加、
String w/ Keyword、
Child
BathtubのChildフォルダを指定する機能で、アイテム保存フォルダに子フォルダを生成します。
1. 『Child』にチェックを入れます。
2. リンクをクリックするとそのURLがピックアップされ「クリックされたURL」欄に表示されます。
同時に『照合』ボタンの表示が『文字反転』に変わり、『クリックされたURL』欄の背景色が薄黄色に変化します。
3. 『クリックされたURL』欄に表示された文字列の中でチャイルドフォルダ名に使用する部分の文字列を反転させて 『文字反転』ボタンをクリックします。
4. <Child>のGropus名でパターンに組み込まれます。
※反転指示する文字列そのものがChildフォルダ名になるのではなく、反転指示した位置の文字列がChildフォルダ名に利用されます。
共通語句付加、
String w/ Keyword、
Child
ボタンをクリックして生成したPageURLパターンにChild指定を追加することができます。ボタンをクリックすると次のアプレットが開きます。
Child指定を追加する方法は2つ用意されていて、どちらかを選択してOKボタンをクリックします。
(1)PageURLパターンを作成する際の元となったタグに続く文字列(ハイパーリンクテキスト) を (?<Cjild>[^<]+) のように書き換えてPageURLの末尾に追記されます。
(2)PageURLパターンの中に title= がある場合、title=に続く文字列を title="(?<Child>[^"]+)" のように書き換えます。
パターン作成の元となるタグに続く文字列を確認するには、そのリンクを右クリックしてメニューから 「このリンクを含み後方のタグ3つを見る」 をクリックすることで、元となったタグを含み4つのタグが表示され、ハイパーリテキストを確認することができます。
リンクを右クリックして「このリンクを含み後方3つのタグを見る」を選択すると次のようなアプレットが開きます。
最初のタグ(<と>で囲まれた文字列)がパターン化されているタグに対応し、それに続く3つのタグが表示されます。
ここで注意が必要です。パターンを作成したリンクと異なるリンクを右クリックした場合には、表示されるタグとパターンが対応しなくなります。Pageパターンとして同じパターンのリンクであればパターンと1番目のタグの対応は取れます。
通常ハイパーテキストは、この図では「公開アプリ一覧、関連記事はこちら」とある文字列になります、ここに適当な文字列がある場合「Child」ボタンを用いてパターンに<Child>フォルダ指定を付加することができます。
このハイパーテキストはリンクを右クリックした時、リンクを左クリックした時に⑳のタグ・タイトル表示欄に表示されます。左クリックの場合、すぐにタグ表示やパターン表示に切り替わってしまいますが表示欄の名称の先頭に○印が表示され、この○印をクリックするとハイパーリンクの表示に切り替わります。
タグの下に表示されているパターンはここで編集することができます。パターンの微修正をするときに便利です。
⑨Bathtub起動ボタンで作成したパターンをBathtubに送信します。Bathtubが起動していないときにはBathtubを起動してから送信します。
但し、Bathtubがダウンロード動作中の場合には送信されたパターンはButhtub側で無視されます。
Bathtubに送信される情報は、PageURLパターン、ItemURLパターンに加え プロジェクト名、アイテム保存フォルダ、サイトURL(連番URL)、階層深度、String with Keyword設定、title名Subフォルダ設定になります。
⑨Bathtub起動ボタンでButhtubを起動し、本アプリで作成したパターンが送信されますが、Bathtubはそれを受け取るだけでダウンロードは開始しません。ダウンロードを開始するにはBathtub側の「開始」ボタンをクリックします。