Node.js로 웹 크롤링하기

Node.js와 Puppeteer를 활용해 웹 사이트를 크롤링하여 원하는 정보를 가져오는 법을 배웁니다. Puppeteer(또는 axios+cheerio)와 CSV, 엑셀, 데이터베이스를 연동하는 방법을 배웁니다. 네이버, 아마존, 트위터, 유튜브, 페이스북, 인스타그램, unsplash.com 등의 사이트를 크롤링하며 실전에 적용해봅니다.

Node.js 교과서 DLC격으로 Node.js 교과서 책이나 동영상 강좌를 선수강하면 더 쉽게 배울 수 있습니다.

학습 목표

  • Node.js로 웹 크롤링을 할 수 있다.

도움이 되는 분들

  • Node.js로 웹 크롤러를 제작하시는 분
  • 웹 작업의 자동화를 목표로 하시는 분
  • 웹 E2E 테스트를 하려고 하시는 분

연관된 강좌

Node.js교과서 – 기본부터 프로젝트 실습까지
노드에 대한 핵심 개념을 익힌 후,
실전 예제를 통해 실무에 뛰어들 준비를 갖춥니다.

참고 사항

  • Node.js LTS 버전을 사용합니다.
  • 자바스크립트 기본 문법 알아야 합니다.
  • Node.js 교과서를 읽지 않았다면 https://thebook.io/006982/에서 8장까지 읽으면 좋습니다.
  • github.com/zerocho/nodejs-crawler에 소스 코드가 있습니다.
  • 크롤링하는 웹사이트의 태그가 변경되어 소스 코드가 동작하지 않을 수 있지만, 강좌에서 배운대로 소스 코드를 수정하면 됩니다.

지식공유자 소개

조현영

– Node.js교과서 저자
– ZeroCho.com 운영자
– 현재 유튜브에서 ZeroChoTV로 방송중
– 전 스타트업 CTO

강좌 평가

...

개의 수강평
  • 5 점0
  • 4 점0
  • 3 점0
  • 2 점0
  • 1 점0

아직 수강평이 없네요

강좌 교육과정

1. 웹 크롤링과 데이터 파싱
1-1. 웹 크롤러 소개학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 미리보기 00:10:00
1-2. csv-parse 패키지로 csv 파싱하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:12:00
1-3. xlsx 패키지로 엑셀 파싱하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:14:00
1-4. axios-cheerio로 첫 크롤링하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:13:00
1-5. Promise.all과 for of 문의 차이학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:05:00
1-6. 보너스: xlsx 패키지학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
1-7. 보너스: api와의 차이점, 자동화학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:06:00
1-8. 보너스: 엑셀에 쓰기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:05:00
2. puppeteer 사용하기
2-1. puppeteer 시작하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 미리보기 00:11:00
2-2. headless 옵션 이해하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:09:00
2-3. 첫 puppeteer 크롤링학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:09:00
2-4. csv에 출력하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
2-5. page.evaluate 사용하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
2-6. userAgent와 한 탭으로 크롤링학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:16:00
3. axios와 cheerio로 이미지 다운로드
3-1. 이미지 다운로드 준비하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
3-2. axios로 이미지 저장하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:09:00
3-3. 브라우저 사이즈 조절과 스크린샷학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:12:00
3-4. 보너스: querySelector과 CSS 선택자학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:11:00
3-5. 보너스: CSS 선택자 조합하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
(문법 강좌) const와 let학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 미리보기 00:10:00
(문법 강좌) 템플릿 문자열(백틱, `)학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:07:00
(문법 강좌) 객체 리터럴의 변화학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:07:00
(문법 강좌) 화살표 함수학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
(문법 강좌) 비구조화 할당학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:14:00
(문법 강좌) rest 문법과 Q&A학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:08:00
(문법 강좌) 콜백과 프로미스학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:09:00
(문법 강좌) 프로미스(Promise) 이해하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:14:00
(문법 강좌) 프로미스(Promise) API학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
(문법 강좌) async/await학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
4. 인피니트 스크롤링 크롤링
4-1. 인피니트 스크롤링과 postman학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:09:00
4-2. 인피니트 스크롤 태그 분석하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:11:00
4-3. 스크롤 내리고 태그 기다리기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:13:00
4-4. 스크롤 조작해서 크롤링하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:11:00
4-5. 크롤링 결과를 파일로 만들기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:13:00
4-6. 보너스: 퍼펫티어 Q&A학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:11:00
4-7. 보너스: 태그 바뀌었을 때 대처법 & copy selector학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:05:00
5. 페이스북 로그인&로그아웃
5-1. 페이스북 로그인 태그 분석학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:11:00
5-2. dotenv로 비밀번호 관리하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:04:00
5-3. type, hover, click, keyboard학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
5-4. 페이스북 로그아웃학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:09:00
5-5. waitForResponse학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:08:00
5-6. 마우스 조작하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:14:00
5-7. focus와 대문자 입력하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:07:00
5-8. alert, confirm, prompt 대응하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:09:00
6. 프록시로 서버 속이기
6-1. 프록시 설명과 태그 분석학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:11:00
6-2. 프록시 ip 적용하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:12:00
6-3. 데이터베이스 연동하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
6-4. 크롤링 결과물 데이터베이스에 저장하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:07:00
6-5. 브라우저 여러 개 사용하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:12:00
7. 실전 페이스북 크롤링
7-1. 페이스북 크롤링 준비학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 미리보기 00:07:00
7-2. 페이스북 태그 분석학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:15:00
7-3. 이미지 태그, 좋아요, 광고글 분석학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:15:00
7-4. 반복 작업 수행하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:08:00
7-5. 한 번 저장한 게시글 무시하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:15:00
7-6. 보너스: 페이스북 게시글 작성하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:17:00
8. 실전 인스타그램 크롤링
8-1. waitForNavigation학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:08:00
8-2. userDataDir로 로그인 유지하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:11:00
8-3. 인스타그램 태그 분석(virtualized list)학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:14:00
8-4. 더보기 버튼과 반복 크롤링학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:17:00
8-5. 인스타 하트 클릭과 DB 저장학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:15:00
8-6. 보너스: 인스타그램 검색하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:07:00
8-7. 보너스: 인스타그램 댓글 가져오기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:11:00
9. 실전 유튜브 크롤링
9-1. 유튜브 크롤링 준비와 browserFetcher학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:11:00
9-2. waitUntil로 로딩 기다리기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
9-3. 구글 로그인하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:07:00
9-4. 구글 로그인 유지하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:05:00
9-5. 유튜브 동영상 다운로드학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:16:00
9-6: 보너스: Q&A학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
10. 페이지네이션과 아이프레임
10-1. 페이지네이션 크롤링 준비학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:07:00
10-2. 아마존 크롤링학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:09:00
10-3. 깃허브 크롤링학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:12:00
10-4. 깃허브 페이지네이션학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:14:00
10-5. 트위터 로그인하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:05:00
10-6. 트위터 태그 분석하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:13:00
10-7. 트위터 아이프레임 컨텐츠 가져오기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:00:00
  • 가격 옵션 +
  • 평생
  • 강좌 수료증
  • 75개 강의, 총 12 시간 47 분
  • 위시리스트

실시간 인기 강좌

우리는 성장기회의 평등을 추구합니다. 🎄

경제적, 시간적 제약없는 양질의 교육으로 누구나에게 성장 기회를 균등하게 주는 것. 그것이 우리의 목표입니다.

지식공유참여 고객센터
top
(주)인프랩 | 대표자:이형주 | 사업제휴문의:070-4178-0406 | E-MAIL: course@inflearn.com | 사업자번호:499-81-00612
주소:성남시 분당구 삼평동 대왕판교로 645번길 12 경기창조경제혁신센터 8층 R19 | 개인정보보호책임자:이형주
통신판매업:2017-서울강남-01544 | ©INFLAB. ALL RIGHTS RESERVED