728x90
Jsoup 라이브러리
jsoup은 자바로 만들어진 HTML 파서(Parser) 입니다. jsoup은 자바 언어로 HTML을 다루는 쉽고, 강력한 기능을 제공합니다.
Jsoup 다운로드
jsoup은 오픈 소스 프로젝트로 제공됩니다. 다음 사이트에서 다운로드 및 필요한 정보를 얻을 수 있습니다.
Jsoup 라이브러리 추가
프로젝트 선택 후 Properties로 이동합니다.
Java Build Path > Libraries > Classpath > Add External JARs...을 클릭합니다.
다운로드 받은 jsoup.jar 파일을 선택합니다.
Classpath에 적용된 jsoup.jar 확인 후 Apply > Apply and Close을 클릭합니다.
Referenced Libraries에 적용된 모습을 볼 수 있습니다.
실습
package model;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Crawling {
public static ArrayList<MovieVO> sample() { // 원래 main()이었음
final String url = "http://www.cgv.co.kr/movies/?lt=1&ft=0";
Connection conn = Jsoup.connect(url);
Document doc = null;
try {
doc = conn.get();
} catch (IOException e) {
e.printStackTrace();
}
Elements elems = doc.select("strong.title");
Elements elems2 = doc.select("span.txt-info");
Iterator<Element> itr = elems.iterator();
Iterator<Element> itr2 = elems2.iterator();
//////////////////////////////
ArrayList<MovieVO> mdatas=new ArrayList<MovieVO>();
int PK=111;
//////////////////////////////
while(itr.hasNext()) {
String str = itr.next().toString();
String str2 = itr2.next().toString();
int index = str.indexOf(">");
str = str.substring(index+1);
index = str.indexOf("<");
str = str.substring(0, index);
int index2 = str2.indexOf("<strong>");
str2 = str2.substring(index2+9);
index2 = str2.indexOf("<span>");
str2 = str2.substring(0, index2);
//System.out.println(str);
//System.out.println(str2);
//System.out.println();
mdatas.add(new MovieVO(PK++,str,str2));
}
return mdatas;
}
}
Crawling.java
GitHub
https://github.com/Qkrwnsgus0522/Java
728x90