本日も応用テクニックの紹介です。

このブログもアメブロを使って書かせていただいていますが、
そのアメブロへの「自動投稿」を行うためのマクロです。

↓以下がコマンドラインです。

SET !ERRORIGNORE YES
URL GOTO=http://www.ameba.jp/
URL GOTO=http://blog.ameba.jp/ucs/entry/srventryinsertinput.do
WAIT SECONDS=2
TAG POS=1 TYPE=TEXTAREA FORM=NAME:srvEntryInputForm ATTR=ID:entryTextArea CONTENT=これはテスト投稿です!
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:srvEntryInputForm ATTR=ID:title CONTENT=件名をここに入れます
WAIT SECONDS=1
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:srvEntryInputForm ATTR=VALUE:全員に公開


ログインした状態で上記マクロを実行すると、
指定した文章をアメブロに投稿してくれます。


ログインしているかしていないかわからない状態で実行する場合は、
下記を最初に加えます。

SET !ERRORIGNORE YES
URL GOTO=http://www.ameba.jp/
URL GOTO=http://blog.ameba.jp/ucs/logout.do
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:srvLoginForm ATTR=ID:usr_name CONTENT=ここにアメブロIDを入れる
TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:srvLoginForm ATTR=ID:usr_password CONTENT=ここにアメブロパスワードを入れる
TAG POS=1 TYPE=INPUT:IMAGE FORM=NAME:srvLoginForm ATTR=NAME:Submit&&SRC:http://stat.ameba.jp/common_style/img/home_common/top/btn_login.gif
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:srvLoginForm ATTR=ID:amebaId CONTENT=ここにアメブロIDを入れる
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:srvLoginForm ATTR=ID:password CONTENT=ここにアメブロパスワードを入れる
TAG POS=1 TYPE=INPUT:IMAGE FORM=NAME:srvLoginForm ATTR=ID:login_button


ここからさらに応用パターン。

先日紹介した、コピーアンドペーストのマクロと
組み合わせてみてください。

特定のウェブサイトから情報をコピーして
それをアメブロに投稿する事が可能になります。

(投稿の際、若干のアレンジを加えることも可能)


実際にやった例も紹介し…ようかと思ったのですが、
そちらは一応アメンバー限定にしておきます。
今日は、コマンドラインではなく
ちょっとした応用技として「メール認証」の方法を紹介します。

(応用技といっても、使うコマンドはそんなに難しくありません。)


自動化作業の中で、メール認証は1つの鬼門でしょう。

おそらく、メール認証だけは手動で行っている方が多いのではないでしょうか。

私も以前はそうしていたのですが、
下記コマンドを考えだしてからは、メール認証も自動化させています。

例えば、アメブロの登録時のメール認証などであれば

URL GOTO=https://mail.google.com/mail/h/7t8e9o2quhoz/?
WAIT SECONDS=3
TAG POS=1 TYPE=B ATTR=TXT:【Ameba】仮登録を受付けました登録を完了して下さい
WAIT SECONDS=3
TAG POS=1 TYPE=A ATTR=TXT:https://user.ameba.jp/regist/complete.do* EXTRACT=TXT
SET !VAR3 {{!EXTRACT}}
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:f ATTR=NAME:nvp_a_arch&&VALUE:アーカイブ
URL GOTO={{!VAR3}}

上記のように、まずGmailへ移動。
(この場合、予めGmailにログインしている必要がありますが、
 ログインも自動化しておくことは可能です。)

その後、メール認証でクリックすべきメールの「件名」を予め指定し
そのメールを開きます。

ここでポイントなのは、認証URLのクリックの仕方。

上記コマンドでは、アスタリスクを活用することで
「https://user.ameba.jp/regist/complete.do」で始まるURLを一旦コピーし、
その後そのコピーしたURLへ移動するという方法を取っています。


この技は、組み合わせ方次第で色んな使い方が可能です。
アイデアを絞って活用してみてください。


良い使い方を考えついた方、
使い方のアドバイスを受けたい方は、気軽にご連絡ください。
本日は、imacrosを使ったコピペ作業について紹介します。

例えば、下記のようなコマンド。

TAG POS=1 TYPE=A ATTR=HREF:http://* EXTRACT=HREF
SET !VAR1 {{!EXTRACT}}
URL GOTO={{!VAR1}}

上記のように書くと、

ページの中で、一番最初の「http://~」で始まるハイパーリンクをコピー(一行目)
コピーした内容を、変数に格納(二行目)
変数に格納されている文字列のURLに移動(三行目)

の手順でコピペ作業を行ってくれます。

なお、
「http://*」の部分を
「http://ameblo.jp*」と変更すれば、
アメブロのURLだけを探してくれます。


上記はPOS=1 となっているので、htmlソース内を上から探して
1番目の該当リンクをコピーしますが、

POS=2 とすれば2番目、
POS=3 とすれば、3番目の該当ハイパーリンクをコピーしてくれます。


なお、上記はリンク先のURLをコピーしていますが、
TAG POS=1 TYPE=A ATTR=TXT:http://* EXTRACT=TXT
とすれば、ハイパーリンクのアンカーテキストをコピーしてくれます。


また上記の例では、コピペしたURLへの移動を行っていますが、
所定のフォームにコピーした文字列を入力するようなことも可能でしょう。


コマンドはあっているのになぜかエラーがでる、、、というときは、

WAIT コマンドを入れてみましょう。


ブラウザの読み込みが遅かったり早すぎたりすることのエラーが多いので
2秒程度WAITを挟んであげることで
うまくいくことも多いです。
マクロを実行する上で、キャッシュやCookieを消して実行させたいという時に使えるコマンドです。

マクロ内で、キャッシュとクッキーを消したい部分
CLEAR
と一行書くだけ。

ただし、これで消せるのはハードディスク内のキャッシュとクッキー。

ブラウザのメモリーは消えないようなので、
ブラウザを開いている間に読み込んだクッキーは
ブラウザを閉じて消す必要があるようです。


http://wiki.imacros.net/CLEAR


iMacrosでは、変数を使うことが可能です。

例えば、

PROMPT "メールアドレスを入力してください" !VAR1
PROMPT "パスワードを入力してください" !VAR2

上記のように書くと、マクロ実行時に
メールアドレスとパスワードの入力ができるようになります。

(!var1にメールアドレス、!var2にパスワードが格納されるわけですね)

上記コマンドより後ろの方に

TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:regist.html ATTR=ID:id CONTENT=自分のメールアドレス

という部分があるとして、
「自分のメールアドレス」の部分を {{!var1}} と書き換えてください。

TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:regist.html ATTR=ID:id CONTENT={{!var1}}

上記のようになります。

※「FORM=ACTION:regist.html ATTR=ID:id」の部分は記録しているページによって変わるので、
 上記をそのままコピーしてもうまくいきません。



応用ワザを1つ紹介します。


画像認証の手前で

PROMPT "画像認証の数字を入力してください" !VAR3

というコマンドを挿入すれば、
画像認証作業もマクロの中に組み込めますね。

他にも応用の仕方は色々あると思います。
imacrosには、GoogleChrome拡張もあります。

GoogleChrome上のブックマークにimacrosのマクロを登録しておき、
ブックマーク上から実行させることが可能になっています。


これだけでも便利なのですが、
さらに便利なのは、複数のPCで使うとき。


最新版のGoogleChromeブラウザは、自分のGmailアカウントと関連づければ
複数台のPCから使っても、ブックマークの内容がすべて同期するように設定可能です。


つまり、

1つのPC(Googleクローム上)でimacrosのマクロを作成すれば、
その内容が、同期設定した他のPCにも反映されるということです!

複数台のPCで作業する人にとっては、非常に便利ですよ。
ぜひお試しください。