카테고리 없음

자바 - 웹 크롤링 - 셀레니움 환경 세팅

코너(Corner) 2021. 2. 8.
반응형

웹 크롤링 (crawling) (실시간 데이터 수집)

  • 정식 명칭은 Web Scraping이다.
  • 웹 사이트에서 원하는 정보룰 추출하는 것을 의미한다.
  • 보통 웹 사이트는 HTML 기반이므로 정보를 추출할 페이지에서
    개발자모드 실행 후 원하는 태그를 검색하는 스킬이 요구된다.
    ( 즉, HTML/CSS를 기본으로 알고 있어야한다. )

※ 크롤링한 데이터를 소장, 활용하는 것은 불법이 아니지만
배포 시 문제가 될 수 있다. 이 경우 해당 사이트의 허락을 반드시 맡아야 한다.

Web상에사 존재하는 Contents를 수집하는 작업 (프로그래밍으로 자동화 가능)

1.HTML 페이지를 가져와서, HTML/CSS등을 파싱하고, 필요한 데이터만 추출하는 기법

  1. Open API(Rest API)를 제공하는 서비스에 Open API를 호출해서, 받은 데이터 중 필요한 데이터만 추출하는 기법
  1. Selenium등 브라우저를 프로그래밍으로 조작해서, 필요한 데이터만 추출하는 기법.

웹 크롤링 라이브러리

  1. Jsoup (정적)

    정적 데이터를 비교적 빠르게 수집할 수 있지만 브라우저가 아닌
    HTTP Request를 사용하기 때문에 동적 데이터를 수집하기 위해서는
    해당 서버의 인증키 요구 등 수집할 수 없는 경우가 많다.

  2. Selenium

    Jsoup에 비해 느리지만 브라우저 드라이버를 사용하여
    동적 데이터도 수집 가능하다.


(2021-02-08 크롤링 2일차)

환경 설치

  1. 크롬 드라이버 88 (구글 검색)
  2. https://chromedriver.chromium.org/downloads (링크 접속)
  3. chromedriver_win32.zip 다운로드
  4. C: 드라이브로 압축 여기서 풀기 ( .exe파일이 풀린다.)
  5. 셀레니움 서버 다운로드
    https://www.selenium.dev/downloads/ 링크 접속
  6. 다운로드
  7. 다운받은 selenium-server-standalone-3.141.59.jar 파일을 java\resource 폴더로 이동

 

 

 


크롤링 예제

crawling 자바 프로젝트 생성

CGV 클래스 생성

selenium-server-standalone-3.141.59.jar 을 Build Path에 추가

CGV사이트 접속


크롤링 실습

  1. 기획

    자주 방문하는 사이트에서 데이터 가져오기

    가져온 데이터를 정제해서 서비스 제공하기

  2. 개발

반응형

댓글