inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Node.js로 웹 크롤링하기

2-4. csv에 출력하기

2-4 csv 출력하기에서 오류 발생

해결된 질문

294

산마로

작성한 질문수 20

0

안녕하세요..

 

최근에 강의를 수강하고 있습니다.

2-4강을 따라서 테스트하고 있습니다.

그런데 총 10개의 링크를 가져와서 puppeteer를 이용해서 평점값을 가져오는데, 중간에 하나의 결과를 저장하지 않는 오류가 발생합니다. 왜 그럴까요?

 

image.png

처음에는 인덱스 번호 2번이 undefined 되더니, 이번에는 인덱스 7번이 생성이 안되어서 cs 파일 생성시 오류가 발생합니다. 이런 현상은 왜 발생할까요?

javascript node.js 웹-크롤링 puppeteer

답변 3

0

산마로

아무래도 페이지가 다 로드 되지 않은상태에서 태그를 찾는 로직이 실행되는 것 같은데... 어떻게 해결해야 하나요..

 

 

0

제로초(조현영)

waitForSelector 통해서 특정 태그가 뜰 때까지 기다려보시면 됩니다!

0

산마로

Promise.all 을 이용해서 10개의 url에 병렬적으로 동작하는 코드는 아무 에러 없이 동작하는 것 같은데, result[i]에 값을 넣는 부분이 실행 안되는 경우가 있는 것인가요? 비동기 처리에서 방생하는 문제인 것 같은데.. 어떻게 처리를 해야 할까요?

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 산마로님.

강의를 따라 진행하시면서 발생한 문제 해결을 돕기 위해 기존 질문과 관련된 답변을 찾아보았습니다.

유사한 문제에 대한 질문에서 제로초 님께서 답변해주신 내용이 있습니다. 네이버 영화 평점 크롤링 시 비동기적으로 로드되기 때문에 cheerio 대신 puppeteer를 사용해야 한다는 내용입니다:

네이버 영화는 올해 3월 서비스가 종료되었습니다. 따라서 네이버 메인 페이지에서만 평점 조회가 가능한데 문제는 평점 나오는 부분이 비동기적으로 불러와집니다. 이 경우는 axios로는 크롤링할 수 없고 뒤에 배우는 puppeteer를 사용해서 크롤링해야 합니다.

해결 방법 요약:
1. Puppeteer 사용: 바뀐 페이지 로딩 방식 때문에 puppeteer를 사용해야 합니다.
2. 사라진 데이터 예외 처리: 특정 인덱스의 데이터가 undefined나 null이 되는 경우가 있으므로 이를 처리해주는 예외 처리가 필요합니다.

아래 두 개의 링크도 참고해주시면 도움이 될 것 같습니다:

그리고 올려주신 이미지와 함께 오류 발생 상황을 좀 더 잘 이해할 수 있도록, 코드도 함께 첨부해주시면 더 구체적인 도움을 드릴 수 있을 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

headless 궁금한게 있어요!

0

414

2

6강 프록시 서버 테스트 관련하여

0

339

2

페이스북 로그인 로그아웃 자동화관련

0

277

2

3-2 axios로 이미지 저장하기에서 axios 관련 오류..

0

269

2

3-1 이미지 다운로드 준비하기 에서 선택자 구성 질문

0

250

3

try-puppeteer.appspot.com 을 사용할 수 없나요?

0

151

1

크롬 확장프로그램 관련 질문드립니다.

0

169

1

크롤링 자바스크립트 exe파일

0

555

1

puppeteer 관련

0

599

2

6-3 proxy-database 관련

1

288

1

크롤링을 여러개 돌리려면 어떠한 방법을 선택하는게 좋을까요?

0

794

1

네이버 영화 평점 크롤링 (axis cheerio)

1

489

1

아래 noscript 내용입니다.

0

528

1

크롤링

0

377

1

앱 크롤링

0

1783

1

페이스북 로그인

0

544

1

2019년도 영상이라 error가 나는 걸까요? 2-4. csv에 출력하기에서 error

1

461

1

안녕하세요! for of와 Promise.all 차이점에 관해서 질문드려요!

0

440

2

대량 요청 처리 방법

0

464

1

구글 패스워드 자동입력시 오류

0

250

1

반복크롤링 할 때 아래 질문주신분 하고 약간 형태가 달라요

0

366

2

인스타그램 돔의 value 값으로 쿼리셀렉터 찾을 수 있나요?

0

300

1

페이스북 로그인시 돔이 생성 안되는 문제

0

310

1

hyperfreed_story_id 사용불가라 태그가 많이 바뀌어서

0

344

1