Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
특정페이지를 jsoup을 이용하여 파싱하는 샘플소스
import org.apache.derby.tools.sysinfo; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; import org.jsoup.Jsoup; public class JSoupTest { public static void main(String[] args) { Document doc = null; try { //doc = Jsoup.connect("http://www.javatpoint.com").get(); doc = Jsoup.connect("http://www.xxx.com/product/product_list.php?cods=ca1&aci_code=11") .data("page", "5") .data("srch_pagesize","30") .userAgent("Mozilla") .post(); } catch (Exception e) { System.out.println("exception : "+e.getMessage()); } //String title = doc.title(); //System.out.println("title : "+title); //System.out.println("doc : "+doc.toString()); // tbody에 있는 tr을 모두 구함 Elements trs = doc.select("tbody tr"); System.out.println("tr개수 : "+trs.size()); // 각 tr별로 처리함 for(int i = 1; i < trs.size(); i++) { System.out.println(trs.get(i)); // tr밑에 있는 td를 추출한다. Elements tds = trs.select("td"); System.out.println("물품명 :"+tds.get(1).text().trim()); Elements href = tds.get(0).select("a[href]"); Elements img = tds.get(0).select("img[src]"); // href속성의 값을 구하면서 완성된 URL를 리턴한다. System.out.println("물품 상세 보기 링크 : "+href.attr("abs:href").toString()); // src속성의 값을 구하면서 완성된 URL를 리턴한다. System.out.println("물품 이미지 링크 : "+img.attr("abs:src").toString()); System.out.println("현재가 : "+tds.get(2).text().trim()); System.out.println("배송비 : "+tds.get(3).text().trim()); System.out.println("입찰수 : "+tds.get(4).text().trim()); System.out.println("판매자 : "+tds.get(5).text().trim()); System.out.println("종료일 : "+tds.get(6).text().trim()); System.out.println("========================================================================================"); } } }