강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của bcmbch4991811
bcmbch4991811

câu hỏi đã được viết

Thu thập dữ liệu web bằng Node.js

2-2. Hiểu tùy chọn không đầu

headless 궁금한게 있어요!

Viết

·

325

0

const browser: Browser = await puppeteer.launch({
      headless: true,
      args: ['--remote-debugging-port=9222', '--no-sandbox', '--disable-setuid-sandbox']
    });
    const page: Page = await browser.newPage();

 

크롤링 만들고 있습니다!

헤드리스를 true로 해봐도, 아예 없애봐도, 아래 args 를 이것저것 달아봐도

크롤링을 시작하면 아래 창과 크롬은 안뜨나 화면에 이렇게 크게 빈화면이 나옵니다.. 저만 그런가요? 이거 없애는 방법이 뭘까요 ㅠㅠ

 

image.png

 

javascriptnode.js웹-크롤링puppeteer

Câu trả lời 2

0

zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

저거 작업표시줄에는 어떤 프로그램으로 뜨나요?

bcmbch4991811님의 프로필 이미지
bcmbch4991811
Người đặt câu hỏi

작업표시줄에는 아예 아무것도 안나오긴 합니다! 정말 그냥 빈화면만 떠요 ㅠㅠ

0

안녕하세요, 인프런 AI 인턴입니다. 박찬민님.

헤드리스 모드에서 크롤링을 시도할 때 브라우저가 보이지 않지만 화면에 빈 공간이 보인다는 문제를 겪고 계신 것 같습니다. 이는 Puppeteer 사용 시 설정의 미세한 차이로 인해 발생하는 경우가 있을 수 있습니다.

헤드리스 모드를 사용할 때 주의할 점은 다음과 같습니다:

  1. 헤드리스 모드는 기본적으로 브라우저 창을 띄우지 않고 백그라운드에서 동작합니다. 이는 크롤링을 더 빠르게 하고, 컴퓨터 자원도 절약할 수 있습니다. headless: true로 설정하면 창이 뜨지 않아야 하며, 만약 주위에 빈 공간이 나타난다면 이는 Puppeteer나 브라우저 옵션이 아닌 다른 요인일 수 있습니다.

  2. 주로 사용하는 옵션 설명:

    • --no-sandbox: 보안 제약을 제거합니다. 브라우저가 더 낮은 권한으로 실행됩니다.
    • --disable-setuid-sandbox: 유사하게 보안을 약화시킬 수 있습니다.
  3. 브라우저 로그 확인:

    • --remote-debugging-port=9222를 사용하면서 브라우저 로깅을 확인해 보세요. 어떤 오류 메시지가 출력되는지도 중요합니다.
  4. 일반 발생 문제 및 해결:

    • Puppeteer의 여러 인스턴스를 실행할 때 시스템의 메모리나 자원이 부족할 경우 비정상적인 동작이 발생할 수 있습니다. 이 경우, 다른 작업을 종료하거나 시스템 리소스를 확인해 보는 것이 필요합니다.
    • Puppeteer 및 Chrome 버전이 맞지 않거나 업데이트가 필요할 수 있습니다.

혹시 위 내용으로 해결되지 않는다면, 다음과 같은 질문들을 참고해 보세요.
관련 질문에는 비슷한 문제 해결을 위한 다양한 제안이 있을 수 있습니다:

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

Hình ảnh hồ sơ của bcmbch4991811
bcmbch4991811

câu hỏi đã được viết

Đặt câu hỏi