인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

Simple님의 프로필 이미지
Simple

작성한 질문수

Node.js로 웹 크롤링하기

2-3. 첫 puppeteer 크롤링

csv-parse 관련해서 질문드립니다.

작성

·

274

0

안녕하세요. 

이전 강의 중에, csv-parse 부분에서 csv-parse/dist/cjs/sync.cjs 를 사용하라고 얘기해주셨는데요.

npm start 를 하면 const records = parse(csv.toString('utf-8')); 부분에서 에러가 발생하더라고요. 관련해서 csv-parse/dist/cjs/sync.cjs 를 인터넷에 찾아봤는데 나오는게 없습니다.. ㅠ

해당 부분은 어떻게 처리하면 될지 알 수 있을까요?

 

 

SourceCode

const parse = require("csv-parse/dist/cjs/sync.cjs");
const fs = require('fs');
const puppeteer = require('puppeteer');

const csv = fs.readFileSync('csv/data.csv');
const records = parse(csv.toString('utf-8'));

const crawler = async () => {
try {
const browser = await puppeteer.launch( {headless: false} );
await Promise.all(records.map(async (r, i) => {
try {
const page = await browser.newPage();
await page.goto(r[1]);
const scoreE1 = await page.$('.score.score_left .start_score');
if (scoreE1) {
const text = await page.evaluate(tag => tag.textContext, scoreE1);
console.log(text);
}
} catch (e) {
console.error(e);
}
}));
await browser.close();
} catch (e) {
console.error(e);
}



};

crawler();

 

 

 

StackTrace

const records = parse(csv.toString('utf-8'));

                ^

TypeError: parse is not a function

답변 1

0

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

const { parse } = require(...) 입니다.

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

잘되네요. 감사합니다.

Simple님의 프로필 이미지
Simple

작성한 질문수

질문하기