카테고리 없음
자바 - 웹 크롤링 - 셀레니움 환경 세팅
반응형
웹 크롤링 (crawling) (실시간 데이터 수집)
- 정식 명칭은 Web Scraping이다.
- 웹 사이트에서 원하는 정보룰 추출하는 것을 의미한다.
- 보통 웹 사이트는 HTML 기반이므로 정보를 추출할 페이지에서
개발자모드 실행 후 원하는 태그를 검색하는 스킬이 요구된다.
( 즉, HTML/CSS를 기본으로 알고 있어야한다. )
※ 크롤링한 데이터를 소장, 활용하는 것은 불법이 아니지만
배포 시 문제가 될 수 있다. 이 경우 해당 사이트의 허락을 반드시 맡아야 한다.
Web상에사 존재하는 Contents를 수집하는 작업 (프로그래밍으로 자동화 가능)
1.HTML 페이지를 가져와서, HTML/CSS등을 파싱하고, 필요한 데이터만 추출하는 기법
- Open API(Rest API)를 제공하는 서비스에 Open API를 호출해서, 받은 데이터 중 필요한 데이터만 추출하는 기법
- Selenium등 브라우저를 프로그래밍으로 조작해서, 필요한 데이터만 추출하는 기법.
웹 크롤링 라이브러리
-
Jsoup (정적)
정적 데이터를 비교적 빠르게 수집할 수 있지만 브라우저가 아닌
HTTP Request를 사용하기 때문에 동적 데이터를 수집하기 위해서는
해당 서버의 인증키 요구 등 수집할 수 없는 경우가 많다. -
Selenium
Jsoup에 비해 느리지만 브라우저 드라이버를 사용하여
동적 데이터도 수집 가능하다.
(2021-02-08 크롤링 2일차)
환경 설치
- 크롬 드라이버 88 (구글 검색)
- https://chromedriver.chromium.org/downloads (링크 접속)
- chromedriver_win32.zip 다운로드
C: 드라이브로 압축 여기서 풀기 ( .exe파일이 풀린다.) - 셀레니움 서버 다운로드
https://www.selenium.dev/downloads/ 링크 접속다운로드 - 다운받은 selenium-server-standalone-3.141.59.jar 파일을 java\resource 폴더로 이동
크롤링 예제
crawling 자바 프로젝트 생성
CGV 클래스 생성
selenium-server-standalone-3.141.59.jar 을 Build Path에 추가
크롤링 실습
-
기획
자주 방문하는 사이트에서 데이터 가져오기
가져온 데이터를 정제해서 서비스 제공하기
-
개발
반응형
댓글