このページ【PART.5】でご説明するEXTRACT(エクストラック)は、使用頻度が非常に高いコマンドです。
WEB上の全てのデータ(文字、URL、HTML、画像など)を抜き出してPCに保存することができます。
それでは、実例を元に使い方をご紹介していきます。
ノーノちゃん
テイくん
このページの目次
1. データを抜き出しやすいように設定変更
そのままの設定でも可能ですが、HTMLやCSSの知識が入ります。
あまり詳しくない方は変更しましょう。
設定画面を開く
レコーディング選択を開く
設定を変更
iMacrosに慣れるまでデータを抜き出す(EXTRACTを使う)時は上記の設定に変更しましょう。
ちなみにデフォルトは一番上の「Select the best record mode automatically」です。
設定を保存する
ノーノちゃん
テイくん
2. 特定データを抜き出してみよう
冒頭でもお伝えしましたが、EXTRACTは文字、URL、HTMLや画像を抜き出すために使用するコマンドです。
「抜き出すコマンド」と「保存するコマンド」を必ずセットで使います。
※画像の場合のみ必要ありません。
まずは下記の表を確認してみてくださいね。
抜き出しコマンド | 保存コマンド | |
---|---|---|
文字 | EXTRACT=TXT | SAVEAS TYPE=EXTRACT FOLDER=* |
URL | EXTRACT=HREF | |
HTML | EXTRACT=HTM | |
画像 | CONTENT=EVENT:SAVEITEM | 必要なし(抜き出すコマンドに含まれている) |
それでは、各コマンドの使い方を順番にご説明していきます。
ノーノちゃん
テイくん
①文字(TXT)編
文字を抜き出す方法はEXTRACT=TXTを使います。
それと抜き出した後にデータを保存するコマンドSAVEAS TYPE=EXTRACT FOLDER=*が必須です。
作業の流れ
※動画(約2分)を確認後、下の解説を読んで頂くと分かりやすいと思います。
【STEP.1】マクロを作成
文字(TXT)【練習用サイト】にアクセス
記憶を開始する
抜き出したい場所をクリックする
※抜き出したい文字の周辺をクリックすれば大丈夫です。
記憶を終了する
名前を変更する(省略可)
「#Current.iim」から「EXTRACT_txt.iim」に変更しておきましょう。
【STEP.2】マクロを編集
編集画面を開く
先ほど自動で作成されたマクロは以下のようになっています。
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
URL GOTO=https://teilab-sub.net/?p=31
TAG POS=1 TYPE=H2 ATTR=*
TAG POS=1 TYPE=DIV ATTR=CLASS:sng-box<SP>box2
TAG POS=2 TYPE=H2 ATTR=*
TAG POS=2 TYPE=DIV ATTR=CLASS:sng-box<SP>box2
マクロを編集する
オレンジ色:変更した部分
緑色:メモ書き(コメントアウト)
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
'1番から順番に1→2→3…と数値が増える
SET !LOOP 1
'吸い出す文字を確認しない設定(ポップアップをOFF)
SET !EXTRACT_TEST_POPUP NO
'文字(TXT)【練習用サイト】にアクセス
URL GOTO=https://teilab-sub.net/?p=31
'「タイトル」を抜き出す(h2)
TAG POS={{!LOOP}} TYPE=H2 ATTR=* EXTRACT=TXT
'「サンプルテキストです。」を抜き出す(本文)
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:sng-box<SP>box2 EXTRACT=TXT
'吸い出したデータを「Downloadsフォルダ」に保存する
SAVEAS TYPE=EXTRACT FOLDER=* FILE=*
【STEP.3】マクロを再生
作成したマクロをクリックする
Loop回数を変更する
タイトルと本文が10個分づつあるのでMax:10に変更します。
【STEP.4】データを確認
抜き出したデータを開く
以下のようになっていればOKです。
②URL(HREF)編
URLを抜き出す方法はEXTRACT=HREFを使います。
こちらもEXTRACT=TXTと同じで、データを保存するコマンドSAVEAS TYPE=EXTRACT FOLDER=*が必須です。
作業の流れ
※動画(約4分)を確認後、下の解説を読んで頂くと分かりやすいと思います。
【STEP.1】マクロを作成
URL(HREF)【練習用サイト】にアクセス
記憶を開始する
抜き出したい場所をクリックする
ノーノちゃん
テイくん
記憶を終了する
名前を変更する(省略可)
「#Current.iim」から「EXTRACT_HREF.iim」に変更しておきましょう。
【STEP.2】マクロを編集
編集画面を開く
先ほど自動で作成されたマクロは以下のようになっています。
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
URL GOTO=https://teilab-sub.net/?p=39
TAG POS=1 TYPE=A ATTR=CLASS:url&&HREF:https://teilab-sub.net/1
BACK
TAG POS=1 TYPE=A ATTR=CLASS:url&&HREF:https://teilab-sub.net/2
マクロを編集する
オレンジ色:変更した部分
緑色:メモ書き(コメントアウト)
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
'1番から順番に1→2→3…と数値が増える
SET !LOOP 1
'吸い出す文字を確認しない設定(ポップアップをOFF)
SET !EXTRACT_TEST_POPUP NO
'URL(HREF)【練習用サイト】にアクセス
URL GOTO=https://teilab-sub.net/?p=39
'※サンプルURLのリンク先を抜き出す
TAG POS={{!LOOP}} TYPE=A ATTR=CLASS:url&&HREF:https://teilab-sub.net/* EXTRACT=HREF
'吸い出したデータをダウンロードフォルダに保存する
SAVEAS TYPE=EXTRACT FOLDER=* FILE=*
ノーノちゃん
テイくん
【STEP.3】マクロを再生
作成したマクロをクリックする
Loop回数を変更する
リンク先が10個あるのででMax:10に変更します。
【STEP.4】データを確認
Downloadsフォルダを開く
抜き出したデータを開く
以下のようになっていればOKです。
③HTML(HTM)編
HTMLを抜き出す方法はEXTRACT=HTMを使います。
このコマンドは、ほとんど使用することがありませんので詳しい解説は省略します。
先程作成した「文字」と「URL」項目のマクロを変更したものを再生して、どんな感じになるのか確認するだけでOKです。
文字(TXT)
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
SET !LOOP 1
SET !EXTRACT_TEST_POPUP NO
URL GOTO=https://teilab-sub.net/?p=31
TAG POS={{!LOOP}} TYPE=H2 ATTR=* EXTRACT=HTM
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:sng-box<SP>box2 EXTRACT=HTM
SAVEAS TYPE=EXTRACT FOLDER=* FILE=*
URL(HREF)
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
SET !LOOP 1
SET !EXTRACT_TEST_POPUP NO
URL GOTO=https://teilab-sub.net/?p=39
TAG POS={{!LOOP}} TYPE=A ATTR=CLASS:url&&HREF:https://teilab-sub.net/* EXTRACT=HTM
SAVEAS TYPE=EXTRACT FOLDER=* FILE=*
④画像(SAVEITEM)編
画像を抜き出す方法はCONTENT=EVENT:SAVEITEMを使います。
こちらはEXTRACT=TXT(HREF)と違い保存するコマンドはいりません。
作業の流れ
※動画(約3分)を確認後、下の解説を読んで頂くと分かりやすいと思います。
【STEP.1】マクロを作成
画像(SAVEITEM)【練習用サイト】にアクセス
記憶を開始する
抜き出したい場所をクリックする
記憶を終了する
名前を変更する(省略可)
「#Current.iim」から「SAVEITEM.iim」に変更しておきましょう。
【STEP.2】マクロを編集
編集画面を開く
先ほど自動で作成されたマクロは以下のようになっています。
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
URL GOTO=https://teilab-sub.net/?p=59
TAG POS=1 TYPE=IMG ATTR=SRC:https://teilab-sub.net/wp-content/uploads/2019/06/01.png
TAG POS=1 TYPE=IMG ATTR=SRC:https://teilab-sub.net/wp-content/uploads/2019/06/02.png
マクロを編集する
オレンジ色:変更した部分
緑色:メモ書き(コメントアウト)
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
'1番から順番に1→2→3…と数値が増える
SET !LOOP 1
'画像(SAVEITEM)【練習用サイト】にアクセス
URL GOTO=https://teilab-sub.net/?p=59
'画像を抜き出す
TAG POS={{!LOOP}} TYPE=IMG ATTR=SRC:https://teilab-sub.net/wp-content/uploads/*.png CONTENT=EVENT:SAVEITEM
【STEP.3】マクロを再生
作成したマクロをクリックする
Loop回数を変更する
画像が10個あるのでMax:10に変更します。
【STEP.4】データを確認
Downloadsフォルダを開く
抜き出したデータを確認する
以下のようになっていればOKです。
※表示の仕方は設定によって違います。
3. 複数データを抜き出してみよう
先程は1個ずつ「文字」「URL」「画像」を抜き出しましたが、今度は一括で全てのデータを抜き出します。
項目が増えて難しく思えますが、いつもマクロは1行で1つの動作をします。
上から順番に見ていけば、どんなにマクロが長くなっても大丈夫です。
それでは「楽天の電子書籍ランキング」のページを使って解説していきます。
楽天ランキング編
抜き出しに使うコマンド以下の3つです。
- EXTRACT=TXT(文字)
- EXTRACT=HREF(URL)
- CONTENT=EVENT:SAVEITEM(画像)
作業の流れ
(CTRLを押しながらクリックすると時間短縮できます。)
※動画(約6分)を確認後、下の解説を読んで頂くと分かりやすいと思います。
【STEP.1】マクロを作成
楽天電子書籍ランキングのページにアクセス
記憶を開始する
抜き出したい場所をクリックする
記憶を終了する
名前を変更する(省略可)
「#Current.iim」から「楽天ランキング.iim」に変更しておきましょう。
【STEP.2】マクロを編集
編集画面を開く
先ほど自動で作成されたマクロは以下のようになっています。
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
URL GOTO=https://books.rakuten.co.jp/ranking/hourly/101/#!/1/0/
TAG POS=1 TYPE=IMG ATTR=SRC:https://tshop.r10s.jp/rakutenkobo-ebooks/cabinet/9675/2000007479675.jpg?fitin=360:360&&ALT:ヤングマガジン
TAG POS=1 TYPE=A ATTR=HREF:https://books.rakuten.co.jp/rk/2259c43095313c759ded3f5ed72c92a2/&&CLASS:txt-ellipsis
TAG POS=1 TYPE=P ATTR=CLASS:author
TAG POS=1 TYPE=P ATTR=CLASS:subinfo
TAG POS=1 TYPE=P ATTR=CLASS:price
TAG POS=1 TYPE=IMG ATTR=SRC:https://tshop.r10s.jp/rakutenkobo-ebooks/cabinet/3710/2000007393710.jpg?fitin=360:360&&ALT:ゴールデンカムイ18
TAG POS=1 TYPE=A ATTR=HREF:https://books.rakuten.co.jp/rk/082fdab94d183c94a8358c5206ecc58f/&&CLASS:txt-ellipsis
TAG POS=2 TYPE=P ATTR=CLASS:author
TAG POS=2 TYPE=P ATTR=CLASS:subinfo
TAG POS=2 TYPE=P ATTR=CLASS:price
マクロを編集する時に全て削除しますので違っていても問題ありません。
マクロを編集する
オレンジ色:変更した部分
緑色:メモ書き(コメントアウト)
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
'1番から順番に1→2→3…と数値が増える
SET !LOOP 1
'吸い出す文字を確認しない設定(ポップアップをOFF)
SET !EXTRACT_TEST_POPUP NO
'URLをコメントアウトにして読み込まないようにする←重要
'URL GOTO=https://books.rakuten.co.jp/ranking/hourly/101/#!/1/0/
'「画像」を抜き出す
TAG POS={{!LOOP}} TYPE=IMG ATTR=SRC:https://tshop.r10s.jp/rakutenkobo-ebooks/cabinet/* CONTENT=EVENT:SAVEITEM
'「タイトルとリンク先URL」を抜き出す
TAG POS={{!LOOP}} TYPE=A ATTR=HREF:https://books.rakuten.co.jp/rk/*/&&CLASS:txt-ellipsis EXTRACT=TXT
TAG POS={{!LOOP}} TYPE=A ATTR=HREF:https://books.rakuten.co.jp/rk/*/&&CLASS:txt-ellipsis EXTRACT=HREF
'「作者名」を抜き出す
TAG POS={{!LOOP}} TYPE=P ATTR=CLASS:author EXTRACT=TXT
'「掲載日 出版社」を抜き出す
TAG POS={{!LOOP}} TYPE=P ATTR=CLASS:subinfo EXTRACT=TXT
'「値段」を抜き出す
TAG POS={{!LOOP}} TYPE=P ATTR=CLASS:price EXTRACT=TXT
'吸い出したデータを「Downloadsフォルダ」に保存する
SAVEAS TYPE=EXTRACT FOLDER=* FILE=*
なぜURLを読み込まないようにするの?
1つのデータ(画像、タイトル、リンク先URL、掲載日 出版社、値段)毎にアクセスして、データを取得すると通常より時間が掛かります。
それと何度も短時間に大量のアクセスしますので、サーバーに負荷が掛かる可能性があります。
今後、大量のデータを取得する予定ある方は特に注意しましょう。
【STEP.3】マクロを再生
作成したマクロをクリックする
Loop回数を変更する
30位まであるのでMax:30に変更します。
【STEP.4】データを確認
Downloadsフォルダを開く
抜き出したデータを開く
以下のようになっていればOKです。
4. 各コマンドの解説
コマンド目次 | |
---|---|
SET !EXTRACT_TEST_POPUP NO | EXTRACT=TXT |
EXTRACT=HREF | EXTRACT=HTM |
CONTENT=EVENT:SAVEITEM | SAVEAS TYPE=EXTRACT FOLDER=* |
*(ワイルドカード) |
SET !EXTRACT_TEST_POPUP NO
SET !EXTRACT_TEST_POPUP NO
- SET
次の動作を指定 - !EXTRACT(エクストラック)
抜き出し - TEST_POPUP(テスト_ポップアップ)
抜き出し箇所をテスト表示 - NO
しない
EXTRACTコマンドを使った場合、どこの場所を抜き出しているかテスト表示される仕様になっています。
上記のように抜き出し箇所を表示させて確認できますが、OKを押さないと次に進みません。
マクロが完成した後にSET !EXTRACT_TEST_POPUP NOを追加して非表示しておきましょう。
EXTRACT=TXT
EXTRACT=TXT
- EXTRACT
抜き出す - TXT
文字列
EXTRACT=TXTは文字列(英数字、ひらがな、漢字)を抜き出す事ができるコマンドです。
EXTRACT=HREF
EXTRACT=HREF
- EXTRACT
抜き出す - HREF(エイチレフ)
リンク先URL
EXTRACT=HREFはリンク先URL抜き出すコマンドです。
覚える必要はありませんが、HREFは「Hypertext Reference ハイパーテキスト リファレンス」の略です。
EXTRACT=HTM
EXTRACT=HTM
- EXTRACT
抜き出す - HTM
HTML
EXTRACT=HTMはHTMLを抜き出すコマンドです。
CONTENT=EVENT:SAVEITEM
CONTENT=EVENT:SAVEITEM
- CONTENT=EVENT:SAVEITEM
画像を保存
CONTENT=EVENT:SAVEITEMは画像を抜き出すコマンドです。
SAVEAS TYPE=EXTRACT FOLDER=*
SAVEAS TYPE=EXTRACT FOLDER=*
- SAVEAS
保存する - TYPE=EXTRACT
EXTRACTで抜き出したデータ - FOLDER=*
保存先をDownloadフォルダに指定
SAVEAS TYPE=EXTRACT FOLDER=*はEXTRACTで抜き出したものを保存するコマンドです。
保存する場所を変更したり、ファイル名を「extract」から違う名前変更することも可能です。
例えばFOLDER=C:UsersPCのユーザー名Desktop FILE=テスト.csvにするとデスクトップ上に「テスト」というファイル名で保存もできます。
フォルダ場所を確認する方法は以下の通りです。(デスクトップの場合)
プロパティを開く
場所を確認する
*(ワイルドカード)
*
どんな文字列(英数字、記号、ひらがな、漢字など)にも置き換わります。
例えば以下のようなURLがあるとします。
https://teilab-sub.net/sample/08
https://teilab-sub.net/category/sample/
https://teilab-sub.net/?p=200
https://teilab-sub.net/?p=2525
https://teilab-sub.net/は全て同じで、その後の文字だけが変化しています。
この場合https://teilab-sub.net/*(ワイルドカード)にすることによって、どんな文字に変わっても対応することができます。
- *
ワイルドカード
5. よくあるエラー事例
抜き出す画像が見つからないときのエラーです。
解決方法は、URLの部分をワイルドカードに変更すれば大丈夫です。
「https://tshop.r10s.jp/rakutenkobo-ebooks/cabinet/9675/2000007479675.jpg?fitin=360:360&&ALT:ヤングマガジン 」
↓
「https://tshop.r10s.jp/rakutenkobo-ebooks/cabinet/* 」
デフォルトの「Downloadフォルダ」から変更した場合に、存在しない保存場所を指定した時に表示されます。
例えばデスクトップに保存する場合は、以下の流れで場所を確認します。
プロパティを開く
場所を確認する
「SAVEAS TYPE=EXTRACT FOLDER=* FILE=*」
↓
「SAVEAS TYPE=EXTRACT FOLDER=* FILE=C:Users\PC\Desktop」
※バックスラッシュ()は¥マークと同じです。
SET !EXTRACT_TEST_POPUP NOを入れれば表示されなくなります。
6. まとめ
今回【PART.5】ではEXTRACTを使って色々なデータを抜き出す方法をお伝えしました。
このコマンドがiMacrosで一番難易度が高い項目になります。自分で作成できなかった方は、動画を見ながら練習して頂ければと思います。
- 文字はEXTRACT=TXT
- URLはEXTRACT=HREF
- HTMLはEXTRACT=HTM
- 画像はCONTENT=EVENT:SAVEITEM
- 画像以外のデータの保存場所は変更できる
- 取得するデータが多い場合はURL GOTOをコメントアウトにして読み込まないようにする
次回予告
次回【PART.6】は今までお伝えしてきたマクロとは違い、特定の場所のみ手動入力に切り替える方法です。
画像認証や同じ内容ではない場合に、臨機応変に対応できるコマンドのご紹介です。
iMacros:PROMPTと!VARで特定の場所を手動入力にする【PART.6】