크롤링 시작하는 NodeJs 쉽게 데이터 페이지를 원하는

당신이 시작하기 전에 당신은 Node.js를 설치 환경을 확인하세요! ! ! ! ! ! ! !

프로젝트 폴더 1. 두 종속성을 설치해야합니다

1 NPM 슈퍼 에이전트를 설치 -S

슈퍼 에이전트 (공식 웹 사이트는 설명)

----- 슈퍼 에이전트는 경량 진보적 인 아약스 API는 기존의 요청 API의 많은 좌절 후 유연성, 가독성, 낮은 학습 곡선으로 제작된다. 또한 Node.js를 함께 작동합니다!

----- 슈퍼 에이전트는 환경 nodejs에 적합한 경량, 진보적 인 아약스 API를, 좋은 가독성, 낮은 학습 곡선, 내부 의존성 nodejs 요청 네이티브 API입니다

 

NPM 안녕을 설치 -S

 

2.Cheerio

----- 힘내라 특별히 서버의 jQuery 코어 구현의 빠르고 유연한 구현 맞춤 nodejs 크롤링 페이지 모듈이다. 웹 크롤러의 다양한하십시오. jQuery를의 Node.js를 동등한

3. 새로운  crawler.js의  파일

입력 내부  

 1 //导入依赖包  
2 const를 HTTP =이 필요합니다 ( "HTTP" );
3
CONST 경로 요구 = ( "경로" ); 4 CONST URL이 = ( "URL"을 필요로 ); 5 CONST의 FS = 선택된 ( "FS"을 필요로 ); 7 CONST의 슈퍼 에이전트 필요 = ( "슈퍼 에이전트" ); 8 CONST 안녕 = (이하 "안녕"을 필요로 ); 11 슈퍼 에이전트 12 갔지 ( "https://www.zhipin.com/job_detail/?city=100010000&source=10&query=%E5%89%8D%E7%AB%AF" )
13 .END ((에러 응답) = > // 힘내라 즉 jQuery를이 패키지 세트 전체 문서가 수신 변수 $ 정의 nodejs 17. var에 $ = cheerio.load (콘텐츠) 18 인 // 데이터를 수신하는 빈 어레이를 정의한다 (19). VAR의 결과 =를 [ ] (20) // 각 리를 가져온 다음 (우리가 검색 할 데이터를 저장하기 위해 각 리 안에이 시간) 내부의 내용을 통과하는 문서 구조를 분석 21 $ ( ". 작업-목록 - 차 .JOB 리") .each ((인덱스 값) => { 22이다 // 주소 표시 줄의 유형, 문자열 차단 사용해야하는 23 // 주소 (24) 송출 $ 주소 = (값) .find (. "주 - 정보"). . 어린이 () EQ (1. .html 중에서 ()); 25 // (26)이 송출 유형 = $ (값) .find ( "회사 P-정보".) .html 중에서 (); 27 개 // 디코더 (28) 주소 = 언 이스케이프 (address.replace (/ & # X / G '% U')은 장착. (/ / G '' )); 29 TYPE = 언 이스케이프 (형식 . .replace (/ & #는 X / G '% U ") 교체 (/, / G' ' )) 30 // 문자열 차단 (31)이 송출 addressArr = address.split ('<EM 클래스 ="VLINE "> </ EM> ' ) 32 는 typeArr = type.split (렛츠 <EM 클래스 = "VLINE"> </ EM>' ) 33된다 // 객체로 배열에 추가 데이터를 취득 (34)는 result.push ({ 35 제목 : $ (값) .find ( ".JOB 제목 이름입니다." ). 텍스트 (), (36) 돈 : $ (값) .find ( "이름 .red." )는 .text (), 37 주소 : addressArr, 38 기업 : $ (값) .find ( "정보 - 회사가." )는 .text (), (39) 타입 : typeArr, 40 위치 : $ (값) .find ( "정보 - .name을 publis." )는 .text (), 41 txImg :. $ (값) .find ( ". publis 정보-IMG") ATTR ( " SRC " ), 42 시간 : $ (값) .find ("정보 - publis 피. " )는 .text () 43 }); 44 // 을 console.log (.. 대해서 typeof $ (값) .find ( ". 정보 - 차") 어린이 () EQ (1) .html 중에서 ()); 46 // 문자열로 어레이 (47) 결과 = JSON.stringify (결과) 48 // 복수 boss.json 현재 파일을 참조하는 디렉토리 파일 폴더를 새로 배열 JSON 출력 (오픈 boss.json 파일은 다음 Ctrl + A 모두 선택 Ctrl + K를, Ctrl 키 + F는) 자동으로 JSON 파일 레이아웃을 할 수있다 49 fs.writeFile ( "boss.json"결과, "UTF-. 8", (오류) => { (50) // 같은 일반적인 출력으로서, 에러를 수신 한 인쇄 널 51 IF (에러 == ) { 52 CONSOLE.LOG ( "축하는, 데이터가 성공적으로 크롤링! 오픈 JSON 파일, 제 Ctrl + A 다음 Ctrl + K, 마지막으로 Ctrl 키 + F의 JSON 포맷 문서보기 (Visual Studio를 코드 에디터 만) " ); 53 } 54 }); 55 });

 

 

 

4. (데이터 변경 이 작동 이상 기본적으로 정적 페이지가 노드에 직접 완료된 경우 \. Cralwer.js을 하지만, 실제로 많은 사람들이하지 않습니다 )

 주소를 입력 1. 당신은 투어 용기에 크롤링 할

  예를 들면 : https://www.zhipin.com/job_detail/?city=100010000&source=10&query=%E5%89%8D%E7%AB%AF

 몸 복사 요소에 콘솔을 선택합니다

   

 

  

 

 3. 편집기에 부착

 

 

 

  

 

 

  5. 서버 환경에서 페이지를 실행

 

  

 

 

 

  7 .이 주소 표시 줄의 주소를 복사

    그런 다음) (cralwer.js이 갔지 파일을 붙여 넣기

    단말 (8)에서 실행.

     노드입니다. \ cralwer.js

 

  마지막으로, 배울 HTTPS : //blog.csdn.net/twodogya/article/details/80204322를

  

  

 

추천

출처www.cnblogs.com/desLZW/p/11655420.html