강의

멘토링

로드맵

Inflearn brand logo image

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

김찬결님의 프로필 이미지
김찬결

작성한 질문수

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

3단계 - N페이지까지 크롤링하기 (사용자 입력 처리)

네이버 지식인 크롤링..

작성

·

67

0

1페이지에 있는 지식인 글 입니다.

image.png

보시면 삼성전자 전문기사 폭행 이라는 제목의 글이 있는 것을 확인 할 수 있는데

크롤링하여 확인해보면 아래 사진처럼

image.pngimage.png

출력이 안됩니다. 코드는 제대로 입력한 것 같은데 왜 이러는걸까요?
그리고 한 페이지마다 10개의 글을 읽어오는 방식인 것 같은데 저 글을 못 읽어들여서 다음 페이지에 있는 첫 번째 글을 가져오는 걸까요?

답변 2

1

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

해당 질문글은 사용자 인증마크가 필요한 경우입니다.

로그인하고 성인인증이 아마 필요할 거예요 ㅎㅎ

 

정적페이지 크롤링할때는 로그인 하지 않은 상태의 페이지를 크롤링하게 됩니다.

1

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

네이버 지식인 크롤링에 관해서 몇 가지 핵심적인 부분을 짚어드릴게요. 네이버와 같은 대형 웹사이트는 크롤링을 방지하기 위해 자주 사이트 구조를 변형하거나, 봇 트래픽을 차단하는 정책을 가지고 있습니다. 그로 인해 종종 크롤링 코드가 작동하지 않을 경우가 많습니다.

  1. 크롤링 방법 확인:

    • 크롤링하고자 하는 페이지의 HTML 구조를 개발자 도구(F12)로 확인해보세요. 모든 요소의 태그 및 클래스명이 예상과 다르게 설정되어 있을 수 있습니다.
    • 작성한 파이썬 코드에서 BeautifulSoup의 선택자가 올바른지 다시 한번 확인해보세요. 원하는 데이터가 바르게 선택되고 있는지 점검해보는 것이 좋습니다.
  2. HTTP 요청 문제:

    • requests 라이브러리를 사용하면서 headers 인자에서 사용자 에이전트를 설정하는 것을 잊지 마세요. 실제 사용자와 비슷한 형태의 요청을 보내는 것이 중요합니다.
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'}
    response = requests.get(url, headers=headers)
    
  3. 페이지네이션 문제:

    • 매 페이지마다 10개의 글을 읽어오는 방식이 맞지만, 페이지 레이아웃이 바뀌었거나 데이터 로딩 방식이 변경되었을 경우 해당 문제를 겪을 수 있습니다. 다음 페이지로 넘어갈 때 URL의 start 파라미터가 적절하게 증가하고 있는지도 확인하세요.
  4. 유사 질문 참고하기:

이 문제는 웹사이트의 구조가 지속적으로 변할 수 있기 때문에 언제든 나타날 수 있습니다. 페이지 HTML 구조를 개발자 도구로 정독하고 원하는 데이터를 추출하는 방식으로 변경하는 것이 해결의 핵심입니다.

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

김찬결님의 프로필 이미지
김찬결

작성한 질문수

질문하기