自社メディア、アフィリエイトブログを運営されている方で、記事のネタがなくてしんどい思いをしている方が多いと思います。
ヤフー知恵袋で調べて、新しい悩みの解決方法をすぐ記事にすれば、競合がほとんどいない場合があるので上位表示する可能性が高くなります。
1個づつ探すのではなくiMacrosを使って自動取得することで、時間短縮ができ記事作成に集中できます。
ノーノちゃん
テイくん
このページの目次
1. なぜヤフー知恵袋なのか?
ヤフー知恵袋で調べれば、誰がどんなことで悩んでいるのかすぐに分かります。
例えば以下のような悩みがあります。
- 〇〇を使い方がわかりません
- 〇〇をするのにどうしたらいいですか?
- 〇〇と〇〇どっちがいいですか?
- 〇〇を詳しく書いているサイトを教えて下さい
このような悩みを自動取得して、Excelで一覧表示できるようして書けそうなものをピックアップします。
ヤフー知恵袋を使った詳しい記事の作成方法は、WEBトマト(まくる)さんの記事で分かりやすく解説してくれています。
参考
ブログでネタ切れした時に使える裏技『知恵袋リサーチ』が最強macoblog
ノーノちゃん
テイくん
2. 動作使用環境について
最新バージョンのiMacrosでは、「50行以上」が使用できない機能制限ありマクロが動きません。
無料で使いたい場合は、Firefox版のiMacros8.9.7バージョンを入れる必要があります。
導入方法についてはこちら(設定時間は約3分)
iMacrosに必要なFirefox、SmoothCSVの導入方法と初期設定(保存版)【PART.1】
3. マクロの流れと使い方
検索ワードの入力以外は全て自動です。
マクロの流れ
※回答がない場合があります
作成日:2019/10/23
もし条件やルールを知らない方は以下の記事で確認してみましょう。
著作権の引用とは?画像や文章を転載する際の5つの条件・ルール
①iMacrosのみの場合
2つマクロを順番に使うとデータを取得できるように作成しています。
- 検索したいキーワード入力する用
- データを取得する用
※動画は約2分です。
青色:コマンド解説(リンク)
VERSION BUILD=8970419 RECORDER=FX
'マクロ間の待ち時間なし
SET !REPLAYSPEED FAST
'エラー回避
SET !ERRORIGNORE YES
TAB T=1
'Yahoo知恵袋にアクセス
URL GOTO=https://chiebukuro.yahoo.co.jp/
'入力したキーワードで検索
PROMPT "検索したいキーワードを入力してください:" !VAR1
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:searchForm ATTR=NAME:p CONTENT={{!VAR1}}
'検索をクリック
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:searchForm ATTR=*
'表示順序を「質問日時の新しい順」に変更
TAG POS=1 TYPE=SELECT ATTR=DATA-SEC:csrt&&DATA-SLK:pl&&DATA-RAPID_P:1&&DATA-POS:0 CONTENT=%20
'■表示順序と数値の関係
CONTENT=%20の値を変更することで順序を変更可能
'%20 → 質問日時の新しい順 %21 → 質問日時の古い順
'%16 → 更新日時の新しい順 %17 → 更新日時の古い順
'%4 → 回答数の多い順 %5 → 回答数の少ない順
'%6 → 閲覧数の多い順 %7 → 閲覧数の少ない順
VERSION BUILD=8970419 RECORDER=FX
'マクロ間の待ち時間なし
SET !REPLAYSPEED FAST
'エラー回避
SET !ERRORIGNORE YES
'抜き出し箇所を確認しない
SET !EXTRACT_TEST_POPUP NO
TAB T=1
'------------1番目の質問------------
'1番目の質問をクリック
TAG POS=1 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
'質問の上部を抜き出す
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
'質問の上部のデータを!VAR1に保存
SET !VAR1 {{!EXTRACT}}
'EXTRACTに残っている質問の上部のデータを破棄
SET !EXTRACT NULL
'質問の下部を抜き出す
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
'質問の下部のデータを!VAR2に保存
SET !VAR2 {{!EXTRACT}}
'EXTRACTに残っている本文(下部)のデータを破棄
SET !EXTRACT NULL
'!VAR1(質問の上部)と!VAR2(質問の下部)のデータをEXTRACTに保存
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
'1秒待ってデータがない場合次の行(ステップ)に進む
SET !TIMEOUT_STEP 1
'回答を抜き出す
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
'デフォルト(60秒)のタイムアウト設定に戻す
SET !TIMEOUT_STEP 60
'ページURLを抜き出す
ADD !EXTRACT {{!URLCURRENT}}
'抜き出したEXTRACTのデータを全てdownloadsフォルダに保存
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
'最初のページに戻る
BACK
'3秒の待ち時間
WAIT SECONDS=3
'------------2番目の質問------------
TAG POS=2 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
'------------3番目の質問------------
TAG POS=3 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
'------------4番目の質問------------
TAG POS=4 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
'-----------5番目の質問------------
TAG POS=5 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
'------------6番目の質問------------
TAG POS=6 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
'------------7番目の質問------------
TAG POS=7 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
'------------8番目の質問------------
TAG POS=8 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
'------------9番目の質問------------
TAG POS=9 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
'------------10番目の質問------------
TAG POS=10 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
'次へをクリック
TAG POS=1 TYPE=A ATTR=TXT:次へ
VERSION BUILD=8970419 RECORDER=FX
SET !REPLAYSPEED FAST
SET !ERRORIGNORE YES
TAB T=1
URL GOTO=https://chiebukuro.yahoo.co.jp/
PROMPT "検索したいキーワードを入力してください:" !VAR1
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:searchForm ATTR=NAME:p CONTENT={{!VAR1}}
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:searchForm ATTR=*
TAG POS=1 TYPE=SELECT ATTR=DATA-SEC:csrt&&DATA-SLK:pl&&DATA-RAPID_P:1&&DATA-POS:0 CONTENT=%20
VERSION BUILD=8970419 RECORDER=FX
SET !REPLAYSPEED MEDIUM
SET !ERRORIGNORE YES
SET !EXTRACT_TEST_POPUP NO
TAB T=1
TAG POS=1 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
TAG POS=2 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
TAG POS=3 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
TAG POS=4 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
TAG POS=5 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
TAG POS=6 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
TAG POS=7 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
TAG POS=8 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
TAG POS=9 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
TAG POS=10 TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*
TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!VAR1}}{{!VAR2}}
SET !TIMEOUT_STEP 1
TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT
SET !TIMEOUT_STEP 60
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=y_chiebukuro.csv
BACK
WAIT SECONDS=3
TAG POS=1 TYPE=A ATTR=TXT:次へ
②JavaScriptを使用する場合
iMacros単体では、条件分岐ができないため2つのマクロに分かれてしまいますがJavaScriptを使えば1つのマクロできます。
こちらは上記のマクロ(.iim)とは違い、ファイル名を「.iim」から「.js」に変更して使用する必要があります。
変更方法は以下になります。
JavaScriptをもう少し詳しく知りたい方は、iMacros×JavaScriptの作成方法と使い方の記事を見て頂ければと思います。
// --------------------
// 検索ワード記入(macro_A)
// --------------------
var macro_A = "CODE:";
macro_A += "SET !REPLAYSPEED FAST" + "\n";
macro_A += "SET !ERRORIGNORE YES" + "\n";
macro_A += "TAB T=1" + "\n";
macro_A += "URL GOTO=https://chiebukuro.yahoo.co.jp/" + "\n";
//「.iim」と同じ構文ではないので注意!文字列を「"」ダブルコーテーション囲うとエラーが出る
macro_A += "PROMPT 検索したいキーワードを入力してください: !VAR1" + "\n";
macro_A += "TAG POS=1 TYPE=INPUT:TEXT FORM=ID:searchForm ATTR=NAME:p CONTENT={{!VAR1}}" + "\n";
macro_A += "TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:searchForm ATTR=*" + "\n";
macro_A += "TAG POS=1 TYPE=SELECT ATTR=DATA-SEC:csrt&&DATA-SLK:pl&&DATA-RAPID_P:1&&DATA-POS:0 CONTENT=%20" + "\n";
var ret = iimPlay(macro_A);
// --------------------
// データ吸い出し(macro_B)
// --------------------
var macro_B = "CODE:";
macro_B += "SET !ERRORIGNORE YES" + "\n";
macro_B += "SET !REPLAYSPEED FAST" + "\n";
macro_B += "SET !EXTRACT_TEST_POPUP NO" + "\n";
macro_B += "TAB T=1" + "\n";
macro_B += "TAG POS={{j}} TYPE=A ATTR=HREF:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/*" + "\n";
macro_B += "TAG POS=1 TYPE=P ATTR=CLASS:yjDirectSLinkTarget EXTRACT=TXT" + "\n";
macro_B += "SET !VAR1 {{!EXTRACT}}" + "\n";
macro_B += "SET !EXTRACT NULL" + "\n";
macro_B += "TAG POS=1 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT" + "\n";
macro_B += "SET !VAR2 {{!EXTRACT}}" + "\n";
macro_B += "SET !EXTRACT NULL" + "\n";
macro_B += "ADD !EXTRACT {{!VAR1}}{{!VAR2}}" + "\n";
macro_B += "SET !TIMEOUT_STEP 1" + "\n";
macro_B += "TAG POS=2 TYPE=P ATTR=CLASS:queTxt<SP>yjDirectSLinkTarget EXTRACT=TXT" + "\n";
macro_B += "SET !TIMEOUT_STEP 60" + "\n";
macro_B += "ADD !EXTRACT {{!URLCURRENT}}" + "\n";
macro_B += "SAVEAS TYPE=EXTRACT FOLDER=* FILE=Yahoo知恵袋.csv" + "\n";
macro_B += "BACK" + "\n";
//3-5秒ランダムで待機時間
var rand = Math.floor(Math.random()*10 +1);
macro_B += "WAIT SECONDS={{rand}}" + "\n";
//50回繰り返し処理=50記事取得
for(var n=1; n<50; n++){
for(var j=1; ;j++) {
// --------------------
// 11回目のみ処理(macro_C)
// --------------------
if (j == 11 ){
var tmacro_C = "CODE:";
tmacro_C += "WAIT SECONDS=2" + "\n";
tmacro_C += "SET !ERRORIGNORE NO" + "\n";
tmacro_C += "TAG POS=1 TYPE=A ATTR=TXT:次へ" + "\n";
iimPlay(tmacro_C);
//ループを抜ける
break;
}
//ディスプレイ現在取得中のページ数を表示
iimDisplay( n + 'ページ目を取得中...');
iimSet("n", n);
iimSet("j", j);
iimSet("rand", rand);
iimPlay(macro_B);
}
}
3. よくある質問
最新バージョンのimacros(無料版)は最大50行までしか使えませんとエラーが表示されています。
解決方法は「1. 動作使用環境について」の項目でお伝えしていますので一度ご確認して頂ければと思います。
can not parse macro line: // ——————– (Error code: -910)
上記のエラーは両方とも、JavaScriptで書かれたファイルを.iimで処理しようとした時に表示されます。
ファイル名を「.iim」から「.js」に変更すればエラーが起きなくなります。
変更方法は「②JavaScriptを使用する場合」で解説しています。
Documents(マイドキュメント)iMacrosDownloadsの中にあります。
※動画ではデスクトップに保存先を変更しています。
4. まとめ
2つご紹介したマクロは、ヤフー知恵袋以外にも改変すれば使えます。
自動取得したいデータがあれば活用して頂ければと思います。
- ヤフー知恵袋は記事のネタ探しに活用できる
- iMacros単体では条件分岐できない
- JavaScriptを使用する場合は.iimを.jsに変更
imacrosを基礎から勉強したい方はこちら
ブラウザ上の作業を全て自動化できるiMacrosとは?【PART.0】