記事一覧はこちら

GooglechromeでページのURLを列挙する方法

一平くんと金太 - Togetter
こりゃ可愛い。着ぐるみは小さいと可愛さが加速度的に増していく。
よし保存保存っと・・・でも画像が多くて面倒だな。さてどうやってURLを取るか。
今までは一つ一つクリックするか、ソースを開いて秀丸正規表現を使って抽出していたけど、デベロッパーツールとquerySelecterAllを使う方法を思いついた。
querySelecterAllは便利で便利でよく使うけど、ここでも活躍。

エレメントタブでセレクタを確認すると、".list_photo a"がセレクタらしい。
単純に書くとこうなるが

var e,i;
e=document.querySelectorAll(".list_photo a");
for(i=0;i<e.length;i++){
  console.log(e[i].href);
}

毎回これを書くのはちょっと長い。shift+enterで改行を入れるのも面倒。
コンソールでは独自の関数が使えるから、

document.querySelectorAll(".list_photo a");
//↓短縮
$(".list_photo a");

この様に短縮出来る。

  console.log(e[i].href);
  //↓短縮
  dir(e[i].href);

これでよし。コピペ出来ればそれでいいのだ。
多少のエラーは無視しても構わないからループも短く。

for(i=0;i<e.length;i++){
//↓短縮
for(i in e)

変数の宣言も取り除いて、ここまでを反映させると

o=$(".list_photo a");
for(i in o){
 dir(o[i].href);
}

一行で書くと

o=$(".list_photo a");for(i in o){dir(o[i].href);}

こうなる。これくらいならタイプするのも苦じゃないと思う。

URLを列挙出来れば、後は煮るなり焼くなり、時は金なり。

2012/06/11 追記

for(i in $$(".list_photo a")){dir($$(".list_photo a")[i].src)};

こっちの方がいいかも。