inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Thu thập dữ liệu bằng Python hoàn thành sau 12 giờ

Thực hành thu thập dữ liệu trang Naver

naver 글자 수집 오류 건

3

n03192297081jhle2370

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

0


python 웹-크롤링

Câu trả lời 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 이정훈님.

크롬 Devtools에서 확인한 내용과 BeautifulSoup를 사용한 크롤링 결과가 일치하지 않아 문의하신 내용에 답변 드리겠습니다.

문제 원인

  • 웹사이트 첫 로드 시점에 따라 DOM 구조가 동적으로 변경되는 경우가 있습니다. 네이버와 같은 동적 웹사이트는 JavaScript로 내용이 업데이트되기 때문에, requests 라이브러리를 사용한 단순한 HTTP 요청은 JavaScript에 의해 변경된 콘텐츠를 반영하지 못할 수 있습니다.

해결 방안

  1. Selenium 활용:

    • Selenium은 웹 브라우저를 제어하여 JavaScript가 실행된 후의 최종 DOM을 크롤링할 수 있습니다. Selenium을 이용해서 브라우저를 열고, 페이지가 완전히 로드된 후에 데이터를 수집할 수 있습니다.
    • Selenium을 사용한 웹 크롤링에 대한 예제를 참고하세요.
  2. Web Scraper 사용:

    • selenium, pyppeteer와 같은 툴을 사용하여 JavaScript 렌더링 이후의 HTML을 수집할 수 있습니다. 이러한 도구를 사용하면, 실제 브라우저와 유사한 조작이 가능해 JavaScript로 생성된 태그도 모두 수집할 수 있습니다.
  3. 적절한 User-Agent 설정:

    • 가끔 서버가 스크립트 접근을 차단하기도 합니다. 이 경우 requests 라이브러리에서 User-Agent를 설정하여 웹 브라우저에서 직접 요청하는 것처럼 보이게 할 수 있습니다.

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

쥬피터 노트북이 실행이 안됩니다.

0

8

1

뒤로가기 버튼 같은 것이 있나요?

0

14

1

Replit 강의 자료가 안나와요

0

13

1

강의 연장 문의

0

14

1

프로그램 실행시간에 대한 질문

1

15

2

비중 및 매수 종목수 조정.

1

16

2

Claude api가 소식 동기화가 늦는 문제

1

21

2

[긴급요청2] 28강 동영상 오류(27강 음성 재생) 수정 예정일자를 알려주세요

0

14

1

codex에게 대용량 코드베이스를 인식 시키는 방법은 어떤게 있나요?

0

25

1

교육자료가 너무 오래되어서 지시한대로 진행하려 해도 안됩니다.

0

30

1

reg.get("http://www.naver.com")

0

54

2

VS로 수강 중인 수강생

0

54

1

네이버 페이지 데이터 수집 실습에서 a.nav가 안되요ㅠ

0

93

1

궁금증

0

101

1

Beautifulsoup실습도중 발생한 문제

0

160

1

selenium 버전이 4.x 대가 되면서 메서드가 달라졌고, 크롬드라이버 다운도 방식이 달라졌습니다(24.09.07 기준)

1

285

1

수업중 따라하기 오류 ㅠㅠ

0

253

2

req.get("http://www.naver.com) 입력후 "Response[200]" 이라고 나오지 않네요 ㅠㅠ

0

190

1

인스타 그램 크롤링 할때

0

931

1

질문

0

322

1

셀레니움 변경사항 입니다.

0

282

0

동영상안에

0

256

0

코스피거래상위종목 수집 강의에서 nth-child 결과 질문입니다

0

651

1

질문이 있습니다.

0

298

1