최근까지 각종 뉴스들로 많은 이야기가 있었다.
검찰 개혁, 조국 전 법무부 장관, 언론 등 관련 뉴스를 보면서 문득 기사의 내용들을 긁어서
나만 볼 수 있는 방법이 있을까? 라는 궁금증이 생겼고
그것에 대한 해결책으로 웹 크롤링을 찾게 되었다.
나는 Java 를 주로 다루니깐 Java 를 사용하여 웹 크롤링을 하는 방법을 찾았다.
대표적인 것으로 Jsoup 이 있는데, 물론 이걸 사용하지 않고도 직접 코딩해서 크롤링을 하는것도 가능하다.
하지만 난 귀차니즘이 많은 사람이므로 누군가 만들어놓은 오픈 소스 Jsoup 을 사용한다.
사용 방법은 간단하다.
우선, Jsoup 홈페이지에 들어가 설치 방법을 찾아본다.
maven 을 사용하면 pom.xml 에 추가를 하거나,
<dependency>
<!-- jsoup HTML parser library @ https://jsoup.org/ -->
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.12.1</version>
</dependency>
라이브러리를 다운 받아
위와 같이 Build Path -> Configure Build Path 로 들어가서
다운 받은 Jsoup 파일을 추가한다.
이렇게 하면 사용 준비 완료.
package com.test.app;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupTest {
public static void main(String[] args) {
String url = "http://news.heraldcorp.com/view.php?ud=20191203000001";
Document doc = Jsoup.connect(url).get();
System.out.println(doc.text());
Elements ele = doc.select("body");
System.out.println(ele.text());
}
}
위와 같이 하면 기본적인 사용이 가능하다.
중요한 부분은 select 인데 이부분에 들어가는 문구는 CSS selector 와 동일하게 사용하면 된다.
Jsoup 에서 만들어 낼 수 있는 결과물은 다양하다. text, html, data 등을 출력할 수 있다.
'일하딩 > Web' 카테고리의 다른 글
[CSS] Position 이란? (static, relative, sticky, fixed, absolute) (0) | 2020.07.26 |
---|---|
[Html] Button 태그 사용시 자동 submit 없애기 (0) | 2019.12.16 |
[chart.js] javascript 로 차트 그리기 (2) | 2019.11.05 |
[Servlet] JSP 를 사용하지 않고 javascript 에서 Java 호출 하기. (0) | 2019.11.01 |
[AES] Java encrypt -> javascript decrypt (3) | 2019.10.29 |
댓글