강의

멘토링

커뮤니티

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

jadubell님의 프로필 이미지
jadubell

작성한 질문수

Node.js로 웹 크롤링하기

도저히 모르겠어서, 여기다 올리네요ㅜ

작성

·

183

0

안녕하세요. 크롤링 강의를 수강하는 사람입니다.

강의를 바탕으로 개인 프로젝트를 하고 있는데, 도저히 진행이 안되서 여기다 질문드립니다..

강의랑 상관없는 내용일 수  있어서 곤란하시면 답변을 안주셔도 상관없습니다..ㅠ

--지금 상황--

1. 크롤링 프로젝트를 만들고, 헤로쿠에서 기동하고 있습니다.

2. 파일 업로드 소스에서 문제가 발생합니다.

3. 로컬에서 기동할 때에는 잘 되는데, heroku에서는 파일 업로드가 잘 안됩니다.

4. 파일 업로드 소스부분입니다.

    imagePathArray = fs.readdirSync(path.join(__dirname, '../tempSave'), function(error, fileList){
        if(error)return console.log("error",error);
        return fileList;
    })
    imagePathArray = imagePathArray.map((v) => {
        return path.join(__dirname, `../tempSave/${v}`);
    });
    const[fileChooser] = await Promise.all([
        page.waitForFileChooser(),
        page.click('.bmm-c-field__input .bmm-c-img-upload__dropzone'),
    ])
    console.log("imagePathArray 확인", imagePathArray);
    await fileChooser.accept(imagePathArray);
    await page.waitForTimeout(20000);

헤로쿠에서 위의 소스의 imagePathArray에 path값이 들어오는 것은 확인 했습니다.

문제는 Promise.all인것 같은데, 이부분이 로컬에서는 잘되는데 헤로쿠에서는 잘 안되는 것같습니다.

혹시 사용법이 잘못되었을까요..? 뭔가 아시는분이 있으면 답변 부탁드립니다ㅜ

답변 1

0

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

console.log("imagePathArray 확인", imagePathArray);
이게 로그가 안 찍히는 상황 맞으신가요? path값이 들어오는 것은 어떻게 확인하셨나요?
await fileChooser.accept(imagePathArray);
뒤에도 console.log 넣어보심이 좋을 것 같습니다.
jadubell님의 프로필 이미지
jadubell
질문자

답글 감사합니다ㅜ

위의 문제 해결했습니다!

jadubell님의 프로필 이미지
jadubell

작성한 질문수

질문하기