본문 바로가기

Back-end/JAVA31

[크롤링] Selenium을 이용한 JAVA 크롤러 (2) - Jsoup과 비교 (With. Twitter) 2020/02/25 - [Back-end/JAVA] - [크롤링] Jsoup을 이용한 JAVA 크롤러 (1) - HTML 파싱 2020/02/25 - [Back-end/JAVA] - [크롤링] Jsoup을 이용한 JAVA 크롤러 (2) - 파일 다운로드 2020/02/27 - [Back-end/JAVA] - [크롤링] Selenium을 이용한 JAVA 크롤러 (1) - HTML 파싱 0. 서론 지난 포스트에서 Selenium을 이용하여 간단하게 웹페이지를 크롤링해보았다. 정적 웹페이지를 크롤링 했기 때문에 결과만 보면 Jsoup과 다를게 없다. 오히려 Selenium의 수집속도가 더 느려서 왜 사용하나 싶을 수 있다. 그래서, 이번에는 동적 웹페이지를 크롤링하여 Jsoup과 어떤 차이가 있는지 비교해보려.. 2020. 2. 28.
[크롤링] Selenium을 이용한 JAVA 크롤러 (1) - HTML 파싱 2020/02/25 - [Back-end/JAVA] - [크롤링] Jsoup을 이용한 JAVA 크롤러 (1) - HTML 파싱 2020/02/25 - [Back-end/JAVA] - [크롤링] Jsoup을 이용한 JAVA 크롤러 (2) - 파일 다운로드 0. 서론 이전 포스트에서 Jsoup을 이용한 크롤러를 만들어보았다. Jsoup도 간편하게 사용할 수 있어서 좋지만, 동적 웹페이지를 크롤링하는데 적합하지 않다. 그리고, XPath를 지원하지않기 때문에 별도의 라이브러리를 필요로 한다. 이 두 개의 단점을 커버할 수 있는 것이 바로 Selenium이다. Selenium은 웹 어플리케이션 테스트를 자동화 할 때 사용하는 툴이다. WebDriver를 통해 웹 브라우저가 실행되며 미리 작성된 스크립트를 통해 .. 2020. 2. 27.
[크롤링] Jsoup을 이용한 JAVA 크롤러 (2) - 파일 다운로드 2020/02/25 - [Back-end/JAVA] - [크롤링] Jsoup을 이용한 JAVA 크롤러 (1) - HTML 파싱 0. 서론 지난 포스트에서 웹페이지를 크롤링하여 File명과 File의 다운로드 URL을 수집해보았다. 이렇게 간단하게 텍스트를 수집하는 정도의 크롤러를 구현한다면 이전 포스트만으로도 충분히 구현할 수 있을 것이라고 생각한다. 하지만, 데이터뿐만 아니라 파일을 다운로드하여 보관하고 싶을 수도 있다. 그래서 이번 포스트에서는 다운로드 URL을 가지고 실제로 파일을 다운로드하는 방법을 다루어볼 계획이다. 이번에 만든 예제를 나중에 재사용하려고 Class를 나누어서 작성하였다. 다소 복잡해보일 수 있겠지만 Class를 나누어서 관리하는게 더 깔끔하다. 그리고, File을 Downloa.. 2020. 2. 25.
[크롤링] Jsoup을 이용한 JAVA 크롤러 (1) - HTML 파싱 0.서론 지금까지 크롤러를 만들때, 주로 Python을 이용해서 만들었다. 왜냐하면, 가장 쉽고 빠르게 만들 수 있기 때문이었다. 그동안 Python에 익숙해져 있다보니 Java로는 만들어 볼 생각을 안하게 되었다. 그러다가, 최근 Java로 메일을 발송하는 기능을 구현해보면서 'Jsoup'이라는 라이브러리를 알게되었다. Jsoup은 HTML을 파싱해주는 JAVA 오픈 소스 라이브러리이다. Python에서 BeautifulSoup과 비슷한 라이브러리이다. 둘에 차이가 있다면, BeautifulSoup은 파싱만 지원하여 별도의 Request 모듈이 필요하지만, Jsoup은 Request와 파싱을 모두 지원한다. Element를 탐색하는 기능은 CSS Selector를 이용하는 select 함수와 Javas.. 2020. 2. 25.