ChromeのConsoleを使ってWebページ中のリンクを抜き出す

ChromeのConsoleを使ってWebページ中のリンクを抜き出す

とあるWebページ中のリンクを抜き出すという話があったのでChromeのConsoleを使って対応した話。

普通ならHTMLをダウンロードして抜き出したり、プログラムでごちゃごちゃいじったりといった方法を考えるのだけど、そこまでするレベルの話じゃないので、さくっとお手軽にJSで対応してみた。

最初、結果の出力の所がうまくいかずconsole.log()で出力した結果を手動コピペとか悲しい方法を使ってしまったのだけど、少し見なおしてるとオブジェクトの内容をクリップボードにコピーするcopy()なる関数があったので、そちらを使うように変更。結果は以下の様な感じ。最初のjQueryを読みだすところは、既に読み込んでいればスキップ可。

別に格段に便利になったりはしないのだけど、ちょっとした時に実行できるのは良さ気。また、結果がJSONの形で取得できるのでそういう向きには応用が効くかもしれない。例えば、リンクを抜き出す以外にもeachにかけているセレクタのところとresultsに内容を格納する辺りを適当に変えればいろいろと応用が効きそう。

// jQueryを読みだす(既に呼ばれていればスキップ可能  
(script = document.createElement('script')).src = 'http://code.jquery.com/jquery-latest.min.js'; document.getElementsByTagName('head')[0].appendChild(script)

// リンクを抜き出して、resultsオブジェクトに格納する  
results = {}; $("a").each(function () { results[$(this).html()] = $(this).attr("href")  } ) ;

// 結果をクリップボードにコピーする  
copy(results)