プロセルピナ
Top Internet
Mail
Private
Proxy
Capture
Device
Download Config
and
Words
Online
Help
Online
Home
[BACK]
Top > FileDownload > Macro > Sample

 



ダウンロードマクロのサンプル


このページでは、テキストフォームからダウンロードマクロを使用する場合を、 サンプルのマクロファイル
  【Sample】 liveSearchでイメージURLを収集.txt
を使用して説明しています。
(このマクロファイルは {{GTMAIL_HOME}}\ctrl\macro フォルダ にあります)

このマクロの最終更新日・更新内容は、マクロファイルの中(コメント部)に記述してあります。

 

【Sample】 liveSearchでイメージURLを収集.txt


このマクロは、 MicrosoftのサーチエンジンLiveSearchのイメージ検索を使用して、画像を検索します。
LiveSearchでは、言語設定により検索結果が大きく違います。 このマクロでは検索ワードが全てアルファベットで構成されているかどうかをチェックし、 その場合は言語設定を en-US に、それ以外は ja-JP に設定します。
また検索漏れを防ぐために、検索制限の設定をオフにして検索を行っています。

 

プライベート・プロキシの設定


このマクロは、画像URLを、 referer指定部を含む形式 (Referer併記URL) で扱います。

  例) http://www.example.com/img/hoge.jpg(base=//www.example.com/hoge_text.html)

検索結果をHTML化してWebブラウザにプッシュする場合は、 プライベート・プロキシを設定する必要があります。 設定がない場合、Webブラウザでは画像が正しく表示されませんが 画像を収集して Image Picker で表示するぶんには問題ありません。

 

サンプルの実行


(1) テキストフォームを開く

View部メインフォームから  F2 キー を押してテキストフォームを開き、 選択文字列エリアに検索ワードを設定します。


(2) マクロを実行します

テキストフォームのメニューから 「Macro > Run Macro 」 を選択し、開いたフォームからマクロファイル 「【Sample】 liveSearchでイメージURLを収集.txt」 を選択します。
しばらくすると、新たに別のテキストフォームが開いて結果が表示されます。


実行結果の例 (URLは「Referer併記URL」です)


(3) Webブラウザで表示

この結果をWebブラウザで表示で表示する場合は、マクロファイルでHTMLに整形します。
結果が表示されているテキストフォームのメニューから 「Macro > Run Macro 」 を選択し、開いたフォームからマクロファイル 「羅列URLをimgタグ化.txt」 を選択します。
また新たに別のテキストフォームが開き、HTMLのソースコードが表示されるので この内容を  HTML Browser ボタン で、Webブラウザにプッシュします。


(4) 画像収集してImage Pickerで表示

テキストフォームでは、HTMLソースコードからイメージを収集して Image Pickerで表示することができます。

上記(3)で開いたHTMLを表示しているテキストフォームの テキストエリアから、マウスの右クリックでショートカットメニューを開き、 「[Web] イメージファイルURLの収集」 を選択します(下図参照)。

(クリックで拡大)
イメージファイルURLの収集

次のような、3つの入力項目のあるフォームが開きます。

(クリックで拡大)
イメージファイルURLの収集

開いたフォームの1項目目は、画像の参照元をURLで指定する項目です。 Referer指定の無いhttp-getではアクセスできない画像を取得する場合に指定します。 今回の場合、各画像のURLが個別に参照元URLを持つ Referer併記URL で扱っていますので、指定は不要です。

2項目目には、保存先のフォルダを指定します。

3項目目には、マクロに入力として渡される内容(=メインテキストエリアに表示されている内容)が、 HTMLソースコードか、URLの羅列かどうかを指定します。
今回の場合、「Text: テキスト、URL羅列」を選択します。

 OK ボタン を押すと収集が始まり、完了すると Image Pickerが開いて画像が表示されます。

 

【参考】マクロでの応答解析処理について (やや高度な内容)


LiveSearchから応答されたページから、画像のURLを抽出する処理は、 ダウンロードマクロ「【Sample】 liveSearchでイメージURLを収集.txt」の getImageUrlサブルーチンと getImageUrl2サブルーチンで行っています。

getImageUrlサブルーチンでは、次のようなサーバの応答を解析します。



これは、classに tc が指定されたspan要素です。 このような応答が、検出された画像の個数分連続しています (上記で1件分)。

この応答から、 画像のURLと、その画像の参照元のURLを取得するのが、getImageUrlサブルーチンの機能です。 画像URLは、最初のリンクの furl= 以降の部分から、 参照元URLは、classに md_pu が指定されているspan要素から取得することができます。

この処理を行うダウンロードマクロの具体的なコードは、次のようなものです。



外側のwhileループにより、 Ex:TagFinderコマンドで classに tc が指定されたspan要素が発見される間は、 URLを検出する処理を繰り返します。
Ex:TagFinderコマンドO:inner= の指定により、開始タグ直後から終了タグ直前までの内容が、 strl["tc"] の変数に設定されるので、 画像URLと参照元URLの抽出は、 strl["tc"] を解析することで行えます。

参照元URLの抽出は、 strl["tc"] 内にある classに"md_pu"が指定されているspan要素 を、 Ex:TagFinderコマンドで検出・解析することで行われています。
このspan要素の開始タグ内の protエレメント 及び pathエレメント、span要素内容を結合すると、 参照元URLになります。

画像URLは strl["furl"] のローカル文字列変数に、 参照元URLは strl["surl"] に、 それぞれ設定されたあと、 サブルーチン呼び出し元から参照できるようにグローバル文字列変数に設定されています。

[BACK]
プロセルピナ