본문 바로가기

Language/Java3

[Java] Jsoup (1) 이번 포스트는 Springboot에서 Jsoup을 이용하여 웹페이지 서버와 통신하는 실습을 진행하겠습니다. 웹페이지를 크롤링하기 위해 라이브러리를 조사할 때 가장 많은 reference가 있었던 다음의 두 라이브러리를 소개합니다. Jsoup? Selenium? Jsoup - HTML 문서에 저장된 데이터를 구문 분석, 추출 및 조작하도록 설계된 오픈 소스 JAVA 라이브러리입니다. - 정적인 자료를 수집하는 경우에 주로 사용합니다. - 정적 데이터를 비교적 빠르게 수집할 수 있지만 브라우저가 아닌 HTTP Request를 사용하기 때문에 동적 데이터를 수집하기 위해서는 해당 서버의 인증키 요구 등 수집할 수 없는 경우가 많다. Selenium - 웹드라이버를 통해서 웹 자동화를 지원해주는 JAVA 라이브.. 2022. 4. 18.
[Java] JVM (1) 일반적인 언어는 CPU 아키텍쳐와 플랫폼의 환경에 맞추어 기계어로 컴파일 됩니다. 그렇기 때문에 플랫폼이 변경되는 경우, 타겟 플랫폼에 알맞게 크로스 컴파일을 해주지 않는다면 제대로 동작하지 않을 수 있습니다. 자바의 경우는 CPU의 아키텍쳐와 플랫폼의 환경에 맞추는 것이 아닌 바이트코드라는 것으로 컴파일 됩니다. 바이트 코드로 컴파일된 결과물이 .class 파일 입니다. class 파일을 해석하고 실행하기 위해서는 반드시 자바 가상 머신 JVM이 필요합니다. 우리가 JDK 또는 JRE 를 설치하는 이유 입니다. 위 그림을 보면 JRE는 JVM을 포함하고 있고, JDK는 JRE를 포함하고 있습니다. 그렇기 때문에 Java 어플리케이션을 실행만 하기 위한 환경이라면 JDK를 설치할 필요는 없습니다. JVM.. 2022. 2. 8.
[Jsoup] 웹 크롤링으로 원하는 값 추출하기 Toy프로젝트를 진행하며 웹사이트의 원하는 데이터를 가져와야 했습니다. 이번 포스팅은 Jsoup을 사용하며 웹페이지를 크롤링한 방법을 공유합니다. Jsoup? Selenium? Jsoup - 정적인 자료를 수집하는 경우에 주로 사용합니다. - 정적 데이터를 비교적 빠르게 수집할 수 있지만 브라우저가 아닌 HTTP Request를 사용하기 때문에 동적 데이터를 수집하기 위해서는 해당 서버의 인증키 요구 등 수집할 수 없는 경우가 많다. - 또한 동적인 기능을 지원하지 않는 경우가 많다. Selenium - 빅데이터 관련, 동적인 자료를 수집할 때 주로 사용한다. - Jsoup에 비해 속도는 느리지만 브라우저 드라이버를 사용하여 동적 데이터도 수집 가능하다. [개인 의견] 아직 Selenium을 사용해보지 .. 2021. 12. 28.