inflearn logo
강의

Course

Instructor

[New Revised Edition] This is Real Crawling - Practical Edition (AI Monetization)

Step 1 - Advanced class selector techniques and how to handle special characters

지식인 크롤링 하기에서 질문

78

ottplus

5 asked

0

 

아래 코드로 보니, 화면에 보이는 지식인 글 순서와 내용이 다르긴 하네요....이건 왜 이런걸까요ㅠ

 

soup = BeautifulSoup(html, 'html.parser')
soup 

python 웹-크롤링

Answer 2

0

ottplus

정적인 페이지가 아니라서 그런걸로 결론 내렸습니다 감사합니다 제미나이, 클로드님, chatgpt님

0

startcoding

네이버 지식인은 정적인 페이지입니다~!

분명히 화면에 첫번째 지식인글이 보이는데, 수집되는건 두번째 지식인 글이라면
사용자 인증(성인)이 필요한 지식인 글이라서 그럴 수 있습니다 🙂

0

communityai8509

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

지식인 크롤링 중 페이지의 HTML 구조와 실제 화면에 표시되는 데이터 간 차이가 발생할 수 있는 이유에 대해 설명드리겠습니다.

주요 원인 및 해결 방안

  1. 동적 로딩:

    • 웹 페이지가 JavaScript를 사용해 데이터를 동적으로 로드하는 경우, requests 라이브러리로 가져온 HTML에는 표시되지 않은 콘텐츠가 포함됩니다. 크롤링을 통해 HTML만 가져오는 과정에서 이러한 비동기적으로 로드되는 부분은 무시됩니다.
    • 이 경우, JavaScript 렌더링을 지원하는 Selenium과 같은 라이브러리를 활용하여 데이터를 가져오는 방법을 고려해보세요.
  2. HTML 변경:

    • 크롤링 목적의 웹 페이지가 변경되면서 HTML 구조가 달라질 수 있습니다. 따라서 처음 선택한 CSS 선택자나 경로가 정확하지 않을 수 있습니다.
    • 개발자 도구에서 HTML 구성요소(CSS 선택자)가 변화했는지 지속적으로 확인해야 합니다.
  3. 데이터 로딩 순서:

    • 지식인 서비스에서는 데이터를 비동기 requests 통해 가져오는 과정에서 각 부분의 로딩 타이밍이 달라질 수 있습니다. 따라서 크롤링 시의 순서와 브라우저에서의 시각적인 순서가 차이가 날 수 있습니다.

해결 방법

  • Selenium 적용: JavaScript로 로드된 데이터를 포함한 전체적인 페이지를 크롤링하고 싶을 때, Selenium을 사용하는 것이 유용합니다.
  • 정확한 선택자 확인: 개발자 도구 (F12)를 사용해 원하는 데이터가 있는 HTML 요소의 CSS 선택자를 정확히 확인하세요.
  • time.sleep()의 활용: 페이지가 완전히 로드되기 전 충분한 지연 시간을 주어 준다면 조금 더 일관된 데이터를 가져올 확률을 높일 수 있습니다.

아래의 질문을 통해 비슷한 주제에 대한 다른 해결 방법도 참고하실 수 있습니다:
- 뉴스 본문 크롤링: 동적 웹 페이지에서 데이터를 안전하게 크롤링하기.

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

셀레니움 환경설정 오류

0

37

2

네이버 로그인 관련

0

212

2

안녕하세요 셀레니움에 대해서 질문

0

79

1

크롤링 연습사이트 문의

0

90

2

선택자 질문

0

67

2

'특정 요소가 나타날 때까지 스크롤' 부분 에러

0

74

2

자동 로그인 질문

0

81

2

44강 제목, 링크

0

94

1

원하는 값이 없을 때

0

86

2

크롤링한 링크가 엑셀로 들어가면 작동이 안되요

0

222

2

셀레니움 PDF자료는 받을 수 있나요

0

96

2

글목록 추출하기

0

93

2

메일 자동화 로그인 중복방지문자해결 오류 및 명시적 대기 질문

0

85

2

강의 노트가 어디에 있는건가요?

0

79

2

강의 커리큘럼 질문

0

92

1

조건문 else 사용하지 않는 이유

0

70

2

셀레니움으로 접근할 수 없는 경우

0

94

2

웹페이지 변경

0

67

2

자바스크립트로 태그 선택 시 질문입니다.

1

59

2

수료증은 어떻게 받나요?

0

114

2

class명을 활용하여 선택자를 만들지 않는 경우..?

0

54

2

드라이버가 안 열려요

0

74

2

이거 해결방법 아시는 분?

0

120

2

네이버 지식인 크롤링..

0

197

2