인프런 커뮤니티 질문&답변

mine7717님의 프로필 이미지
mine7717

작성한 질문수

Node.js로 웹 크롤링하기

크롤링 순차적으로 하는방법.

작성

·

162

0

지난번에 친절히 답변해주시고 좋은강의 해주셔서 크롤링을 아주 손쉽게 끝냈습니다.

이번에 DB에서 ID 값을 가지고 와서 크롤링을 돌리는 것을 하고 있습니다.

그런데 실행하니 총 179개의 id 값을 한번에 불러와서 크롬을 수십개 켜면서 작업을 하더라구요.. 

물론 노트북이 버벅이고 메모리 에러가 발생해서 타임아웃으로 꺼졌지만..

그래서 강의 부분중에 promiseall 이랑 for of 에 대해 다시 보았는데 이해가 잘 안되서요

결국 이걸 순차적으로 1부터 179까지 실행하려면 for of 를 쓰는건데 async await과 어떻게 연계해야 할지 조언 부탁드립니다.

단순히 강의 내용대로 쓰고 구글링해서 쓰니 for of 자체는 내부의 값을 차례대로 불러오기만 하더라구요

간단히 작성해보면 for( const value of cust_id) { crawler(value); } 이렇게 했는데 아마도 crawler이라는 함수가 끝나면 다음것을 해야할 것 같은데 어떤식으로 해결해야 할까요 ?

답변 3

0

mine7717님의 프로필 이미지
mine7717
질문자

만약 크롤링을 5개씩 하고 싶다면 어떻게 바꾸는게 가장 효율적일까요 ?

0

mine7717님의 프로필 이미지
mine7717
질문자

너무 너무 감사합니다 !

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

crawler 함수가 promise라면 await crawler(value) 하시면 됩니다. 참고로 프로미스 반복의 경우 for await of문도 있어서 코드를 더 단축시킬 수 있습니다.

mine7717님의 프로필 이미지
mine7717

작성한 질문수

질문하기