「サーバサイドJavaScriptとjQueryでスクレイピング」http://sakuratan.biz/archives/2972 を参考に、Envjs環境を作ろうとしたのですが、手元の環境ではなかなか動かなかったのでメモです。
手元の環境はMacのLionです。
EnvjsはJavaScriptで書かれたブラウザ環境のシミュレーションで、サーバサイドでDOM操作ができるようです。Rhinoで動いています。
1.公式サイトからダウンロード
http://www.envjs.com/
現在の最新:thatcher-env-js-1.2.13-0-gcb738b9.zip
2.解凍して、出来たディレクトリに移動
cd thatcher-env-js-cb738b9
3.ビルド
ant
成功したら、BUILD SUCCESSFULとでます。
javaとantがインストールされている必要があります。
4.jQuery配置
jQueryをthatcher-env-js-cb738b9直下に置きます。最新の1.7系だと動かなかったので古いものを使いました。
curl -O http://code.jquery.com/jquery-1.4.2.min.js
5.テストプログラムを作成
vi test.js
中身
load('dist/env.rhino.js'); console.log(1); load('jquery-1.4.2.min.js'); console.log(2); window.location = "http://www.wikipedia.org/"; console.log(3); jQuery.ready(); console.log(4); $('.divOtherProjectsItem a').each(function() { var obj = $(this); console.log(obj.text() + '>>' + obj.attr('href')); }); console.log(5);
6.実行
java -jar rhino/js.jar -opt -1 test.js
[ Envjs/1.6 (Rhino; U; Mac OS X x86_64 10.7.3; en-US; rv:1.7.0.rc2) Resig/20070309 PilotFish/1.2.13 ] 1 2 いろいろエラー 3 4 >>//www.wiktionary.org/ Wiktionary>>//www.wiktionary.org/ >>//www.wikinews.org/ Wikinews>>//www.wikinews.org/ >>//www.wikiquote.org/ Wikiquote>>//www.wikiquote.org/ >>//www.wikibooks.org/ Wikibooks>>//www.wikibooks.org/ >>//species.wikimedia.org/ Wikispecies>>//species.wikimedia.org/ >>//www.wikisource.org/ Wikisource>>//www.wikisource.org/ >>//www.wikiversity.org/ Wikiversity>>//www.wikiversity.org/ >>//commons.wikimedia.org/ Commons>>//commons.wikimedia.org/ >>//meta.wikimedia.org/ Meta-Wiki>>//meta.wikimedia.org/ 5
途中エラーがでつつも一応jQueryでDom解析できました。