ページ

2013年8月7日水曜日

JQueryライクなNode.jsを実行する方法(cheerio編)

Node.jsでJqueryライクな処理を行いたく記載
2013/08/07現在、node.jsのJqueryが利用できない?(利用の仕方がわからない)
npm install jquery
が途中で下記のエラーとなるため代替案を模索.

npm http 304 https://registry.npmjs.org/bindings

npm http 304 https://registry.npmjs.org/bindings

> contextify@0.1.6 install /Users/genya/node_modules/jquery/node_modules/contextify
> node-gyp rebuild

npm http 304 https://registry.npmjs.org/cssom
npm http 304 https://registry.npmjs.org/cssstyle
xcode-select: Error: No Xcode is selected. Use xcode-select -switch <path-to-xcode>, or see the xcode-select manpage (man xcode-select) for further information.

gyp: Error 2 running xcodebuild
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:424:16)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:789:12)
gyp ERR! System Darwin 12.4.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/genya/node_modules/jquery/node_modules/contextify
gyp ERR! node -v v0.10.15
gyp ERR! node-gyp -v v0.10.6
gyp ERR! not ok 
npm ERR! weird error 1
npm ERR! not ok code 0
上のエラーがよくわからないので対策を考えるのではなく代替案を調べていると
行き着いた先が、cheerio を利用する方法です。


環境
環境情報 構築日 ソフトウェア
Node 2013/08/07 v0.10.15


Node.jsをインストールした状態で、下記コマンドを実行
npm install request
npm install cheerio
上記コマンドが成功したら、インストールは完了

下記のないようのy.jsファイルを作成
var request = require("request");
var cheerio = require("cheerio");
var requestUrl = "http://yahoo.co.jp";
request({url: requestUrl}, function(error, response, body) {
 if (!error && response.statusCode == 200) {
   $ = cheerio.load(body);
  var title = $("title").text();
        console.log(title);
 }
});
これで動作(コマンド:node y.js)すれば「Yahoo! JAPAN」の文字が現れます。
応用すれば様々な内容に応用可能です。
自分独自のクローラーが有力です。