1. 개요

node.js를 이용하여 HTML 파서를 만들어보려고 한다.


2. 패키지 설치

먼저 다음의 2개 패키지를 설치합니다.

  • request
  • cheerio
$ npm install request
$ npm install cheerio

3. 소스

간단히 sarc.io 웹 페이지 소스를 가져오는 프로그램입니다.

var cheerio = require('cheerio');
var request = require('request');

var url = 'http://sarc.io';
request(url, function(error, response, html){
    if (error) {throw error};

    console.log (html);
});

다음과 같이 실행합니다.

$ node parseHtml.js

4. 페이지 주소 처리

페이지 주소를 입력받는 방식으로 변경합니다.

var cheerio = require('cheerio');
var request = require('request');

var url = process.argv[2];

request(url, function(error, response, html){
    if (error) {throw error};

    console.log (html);
});

실행합니다.

$ node parseHtml.js http://sarc.io

5. 특정 ID 처리

특정 id에 해당하는 값만 가져옵니다. 아래 예제의 키 값은 kwho입니다.

var cheerio = require('cheerio');
var request = require('request');

console.log(process.argv);

var url = process.argv[2];

request(url, function(error, response, html){
    if (error) {throw error};

    var $ = cheerio.load(html);

    $('#kwho').each(function(){
        console.log("kwho : " + $(this).text());
    })
});