Statistics
  • 현재 접속자 101 명
  • 오늘 방문자 1,190 명
  • 어제 방문자 1,852 명
  • 최대 방문자 2,388 명
  • 전체 방문자 130,079 명
  • 전체 회원수 822 명
  • 전체 게시물 1,051 개
  • 전체 댓글수 582 개
기술블로그

[일반] 문과생도 네이버부동산 크롤링 selenium을 활용

작성자 정보

  • QARobot 작성
  • 작성일

컨텐츠 정보

  • 220 조회

본문

[기술포스팅 원문] https://www.gpters.org/dev/post/neibeobudongsankeurolringe-seleniumeul-hwalyong-lW2zJ5hTvCYAzot


[기술포스팅 요약] 이 글에서는 **Selenium을 활용한 네이버 부동산 크롤링** 사례를 다룹니다. XPath를 이용하여 웹사이트의 구조를 분석하고 매물 데이터를 수집하는 과정을 설명하며, API를 활용한 대체 방법도 소개합니다.
  • 배경
    • 네이버 부동산 사이트에서 특정 지역의 매물 정보를 수집하고 싶음
    • 매물을 일일이 클릭하지 않고, 데이터를 자동으로 크롤링하여 엑셀로 정리하는 것이 목표
    • 처음에는 Selenium을 이용하여 크롤링을 시도했으나, 이후 API 활용 방법도 탐색
  • 구현 과정
    • 1. 사이트 구조 파악
      • 개발자 도구(F12) 활용하여 페이지 내 요소들의 XPath 확인
      • 매매 버튼, 리스트 버튼, 지역 선택 등의 클릭 이벤트 추출
    • 2. Selenium을 이용한 웹 자동화
      • Chrome WebDriver 설정 및 네이버 부동산 페이지 접속
      • XPath를 사용하여 특정 지역(서초구 반포동)의 매물을 자동 클릭
      • 단지별 매물 정보를 추출하여 리스트에 저장
    • 3. 웹 요소 로딩 대기
      • 웹 페이지 요소가 나타날 때까지 최대 10초간 대기 설정
      • 명시적 대기(Explicit Wait)를 적용하여 NoSuchElementException 방지
    • 4. API 활용 방법 대체
      • 개발자 도구 > 네트워크 탭에서 API 요청 확인
      • API 요청 URL을 활용하여 직접 데이터 수집
      • JSON 응답을 받아 필요한 데이터(단지명, 매매가, 면적, 특징 등) 추출
    • 5. 결과 데이터 정리
      • 추출된 데이터를 HTML 테이블로 변환하여 저장
      • CSV 또는 JSON 형식으로 저장하여 가독성 높임
  • 장점
    • Selenium을 활용하여 웹사이트 상호작용을 자동화 가능
    • API를 활용할 경우 크롤링보다 빠르고 효율적인 데이터 수집 가능
    • XPath를 활용하여 특정 지역의 매물 정보를 정밀하게 크롤링 가능
  • 단점
    • Selenium은 브라우저 기반이므로 속도가 느리고 차단될 가능성이 있음
    • 네이버에서 IP 차단이 발생할 수 있음
    • API 방식은 데이터 구조를 정확히 분석해야 하며, 변경될 경우 유지보수 필요
  • 개선 방향
    • API 방식으로 데이터 수집 최적화
    • 크롤링 시간 단축을 위한 웹드라이버 옵션 최적화
    • IP 차단 방지를 위한 Proxy 활용
    • 데이터 저장 방식을 CSV, JSON뿐만 아니라 DB와 연동하여 관리
이번 실험을 통해 Selenium을 활용한 크롤링과 API 활용의 차이점을 직접 경험하며, **보다 효율적인 데이터 수집 방식을 탐색하는 과정**을 경험할 수 있었습니다.

이 게시글은 [GPT-4o model]를 통해 요약되었으며, 정보 공유 목적으로 게시되었습니다. 원문 게시물에 대한 책임이나 이해 관계가 없습니다. - 소프트웨어QA 포럼

관련자료

댓글 0
등록된 댓글이 없습니다.
Notice
Member Rank