[Java] 자바 웹 크롤링 - 실시간 데이터 수집
1. 개요
크롤링(Crawling) 이란?
정식명칭은 Scraping 또는 Web Scraping 으로 웹 사이트에서 원하는 정보를 추출하는 것을 의미합니다. 보통 웹 사이트는 기본적으로 Html 기반입니다. 크롬에서 Ctrl + U 또는 우클릭 - 페이지 소스보기를 클릭하시면 다음과 같은 화면을 볼 수 있습니다.
네이버 금융 웹 사이트 소스코드
위 사진은 네이버 금융 https://finance.naver.com/ 홈페이지의 소소를 확인한 것입니다.
2. 활용
그렇다면 이 소스들을 가지고 우리는 무엇을 할 수 있을까요?
Html 소스들을 자세히 들여다 보시면 우리가 웹 사이트에서 보는 모든 정보들이 담겨있습니다.
이 정보들 중 원하는 정보만 가져와서 자신만의 프로그램에 사용하는 것 입니다.
불법아닙니까?
-> 크롤링 한 데이터를 소장하고 활용하는것 까지는 불법이 아닙니다. 다만, 영리를 위한 목적, 배포 시 문제가 될 수 있습니다. 후자의 경우 해당 사이트의 허락을 꼭 맡으시기 바랍니다.
예제로 네이버 금융 사이트에서 국제시장환율 란의 환율 데이터를 긁어와서 화면에 출력해 보겠습니다.
3. 소스코드
4. 실행화면
위 코드를 실행하면 다음과 같이 콘솔창에 크롤링 한 데이터가 출력됩니다.
프로그램에 따라 윈도우 창에 출력 할 수도 있고 변수에 저장하거나 데이터베이스에 저장 할 수 도 있겠습니다.
사실 문자열을 조금만 다룰 줄 안다면 쉽게 처리 가능한 기술입니다.
정보가 유익하셨다면 아래 공감버튼 눌러주시면 감사하겠습니다.
질문사항은 댓글로 달아주시면 성의껏 답변해드리겠습니다.
'Java' 카테고리의 다른 글
자바 가비지 컬렉션(Java Garbage Collection) (0) | 2018.09.29 |
---|---|
자바 벡터(Vector)와 어레이리스트(ArrayList) 비교 (5) | 2018.09.23 |
java.lang.NullPointerException 해결법 (1) | 2018.09.10 |
java.lang.ArrayIndexOutOfBoundsException 해결법 (0) | 2018.09.10 |
자바 foreach문 사용법 (0) | 2018.09.09 |
자바 배열 사용법 (0) | 2018.09.06 |
자바 String 문자열 사용법 정리 (1) | 2018.08.20 |
자바 DB연동 - JDBC + MySQL (0) | 2018.08.17 |