[Nodejs 편 5]Node.js-슈퍼 에이전트 와 cheerio 를 사용 하여 간단 한 파충 류 를 완성 합 니 다.

목표.
브 라 우 저 에 접근 할 때http://localhost:3000/ 시,출력 CNode(https://cnodejs.org/ )커 뮤 니 티 홈 페이지 의 모든 게시 물 제목 과 링크 는 제 이 슨 형식 으로 한다.
출력 예시:
[
 {
    "title": "【  】             ",
    "href": "http://cnodejs.org/topic/541ed2d05e28155f24676a12"
  },
  {
    "title": "     Sublime Text    JavaScript       ",
    "href": "http://cnodejs.org/topic/54207e2efffeb6de3d61f68f"
  }
]

소개 하 다.
superagent(http://visionmedia.github.io/superagent/ )http 라 이브 러 리 입 니 다.get 또는 post 요청 을 할 수 있 습 니 다.cheerio(https://github.com/cheeriojs/cheerio )웹 페이지 에서 css selector 로 데 이 터 를 가 져 오 는 Node.js 버 전의 jquery 로 이해 할 수 있 습 니 다.사용 방식 은 jquery 와 같 습 니 다.
저희 가 프로젝트 를 어떻게 새로 만 들 었 는 지 기억 나 세 요?-새 폴 더 를 만 들 고 들 어가 면 npm init-설치 의존 npm install 슈퍼 에이전트 cheerio express--save-쓰기 응용 프로그램
eg:
const superagent = require('superagent');
const cheerio = require('cheerio');
const express = require('express');
var app = express();

app.get('/', function (req, res, next) {
  //   superagent     https://cnodejs.org/    
  superagent.get('https://cnodejs.org/')
    .end(function (err, sres) {
      //        
      if (err) {
        return next(err);
      }
      // sres.text          html   ,     cheerio.load   
      //            jquery      ,            `$`
      //       jquery     
      var $ = cheerio.load(sres.text);
      var items = [];
      $('#topic_list .topic_title').each(function (idx, element) {
        var $element = $(element);
        items.push({
          title: $element.attr('title'),
          href: $element.attr('href')
        });
      });

      res.send(items);
    });
});

app.listen(3000,function() {
  console.log('      ');
});

좋은 웹페이지 즐겨찾기