노드 쓰기 파충류를 사용하여 시작하기

최근 노드 파충류 않는 읽기, 그래서 우리는 그것을 시도, 그것은 전체 프로세스의 기록이다

1, 새 폴더 baidunews

2 입력 NPM 초기화 하에서 상부 신규 폴더 초기화

3, 초기화 후 전체 다운로드 필요한 의존성이다

  NPM 명시 설치

  NPM 안녕 설치

  NPM 슈퍼 에이전트 설치

4, baidunews의 새로운하는 index.js 폴더 파일

5. 파일의 코드를 추가

  

= (가) 필요 CONST ( '익스프레스'를 표현한다 ); 
const를 앱 = 익스프레스 (); 

// ... 

송출 서버 = app.listen (3000, 기능 () { 
  송출 호스트 = server.address () 주소 ;. 
  송출 포트 = 서버 . .Address () 포트; 
  CONSOLE.LOG는 ( '당신의 응용 프로그램을 실행하는 단계는 http : // 인 % S %의 S' , 호스트, 포트); 
}); 

/ * * 
 * 설명] - 인 라우팅 
 * / 
// 때는 GET 요청에 http : // 로컬 호스트 : 3000, 비동기 함수에서 나중에 
app.get ( '/', 비동기 (REQ, RES, 다음) => { 
    res.send (HotNews) 
  }) 

  // 필요한 타사 패키지의 도입
는 슈퍼 에이전트 = CONST ( '슈퍼 에이전트'을 필요로 ) 

송출 HotNews = [];                                 // 핫 뉴스 
Localnews이 = []하자;                               // 지역 뉴스 

/ * * 
 *하는 index.js 
 * [설명] - 사용 superagent.get () 메소드 액세스 바이두 뉴스 
 * / 
superagent.get ( 'http://news.baidu.com/').end((err, RES) => {
   IF (ERR) {
     // 액세스가 실패하거나 경우 오류가이 선을 발생 여기에 
    -을 console.log ( '핫 뉴스 가져 오기에 실패 $는 {}`ERR) 
  } 다른 {
    // 성공적인 방문 페이지 요청 http://news.baidu.com/가 반환 된 데이터가 RES에 포함됩니다 
   // 기어 핫 뉴스 데이터 
   hotNews =getHotNews (RES) 
  } 
}); 


/ * * 
 *하는 index.js 
 * [설명] - 페이지 핫 뉴스 크롤 
 * / 
// 도입에 필요한 타사 패키지 
CONST는 = 힘내라는 ( '힘내라'을 필요로 ) 

송출의 getHotNews = ( RES)은 => { 
  HotNews하자 = [];
   // 액세스 성공을 요청 http://news.baidu.com/ 페이지 데이터가 포함된다 res.text 반환. 
  
  / * 사용 안녕 모듈 cherrio.load () 메소드, 함수 HTMLDocument의에 매개 변수로 
     페이지 요소를 얻기 위해 나중에 유사한 jQuery를 $ (selectior) 방식으로 사용할 수 
   * / 
  송출의 $ = cheerio.load (res.text) ; 

  // 대상 데이터 요소, 데이터 수집 페이지를 찾을 수 
  $은 ( 'div에를 # 창 뉴스 - 울 리는') 각 ((IDX, ELE) =>. {
     //cherrio의 $ ( '선택')에서 각각 ( ) 일치하는 모든 DOM의 요소를 반복하는 데 사용됩니다. 
    // 매개 변수 IDX는 현재 횡단 요소의 인덱스, ELE 편리 DOM 요소가 현재입니다 
    송출 뉴스 = { 
      제목 : $ (ELE) 는 .text (),         // 뉴스 헤드 라인을 얻을 
      HREF : $ (ELE) .attr ( 'HREF')     // 뉴스 페이지 링크를 얻을 
    }; 
    hotNews.push (뉴스)               // 저장 최종 결과 배열 
  });
   반환 HotNews을 
} ;

6, 현재 파일 폴더에서 명령 줄을 열고 명령 줄을 입력

  노드하는 index.js

브라우저에서 7, 액세스 로컬 호스트 : 3000

페이지 크롤링 (8), 표시 데이터

 

추천

출처www.cnblogs.com/wyongz/p/11242469.html