Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
특정페이지를 jsoup을 이용하여 파싱하는 샘플소스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | 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(); .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( "========================================================================================" ); } } } |