메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

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("========================================================================================");
		}
		
		
	}
}


번호 제목 날짜 조회 수
16 jdk 9이상 사용하려면 repository를 아래와 같이 지정해야한다. 2019.06.02 328
15 [gson]mongodb의 api를 이용하여 데이타를 가져올때 "com.google.gson.stream.MalformedJsonException: Unterminated object at line..." 오류발생시 조치사항 2017.12.11 4945
» [Jsoup]특정페이지를 jsoup을 이용하여 파싱하는 샘플소스 2017.04.18 772
13 [jsoup]Jsoup Tutorial 2017.04.11 391
12 [메모리 덤프파일 분석] 2017.03.31 305
11 [tomcat] logrotate를 이용하여 catalina.out로그파일 일별로 로테이션 저장하기 file 2017.01.18 829
10 List<Map<String, String>>형태의 데이타에서 중복제거 하는 방법 2016.12.23 2443
9 Class.forName을 이용한 메서드 호출 샘플소스 2016.12.21 710
8 Collections.sort를 이용한 List<Map<String, String>>형태의 데이타 정렬 소스 2016.12.15 915
7 Collections.sort를 이용한 List<User>형태의 데이타 정렬(숫자, 문자에 대해서 각각 asc/desc및 복합정렬) 2016.12.15 628
6 Eclipse실행시 Java was started but returned exit code=1이라는 오류가 발생할때 조치방법 2016.11.07 862
5 java스레드 덤프 분석하기 file 2016.11.03 248
4 VisualVM 1.3.9을 이용한 JVM 모니터링 file 2016.10.27 867
3 servlet-api를 jar형태로 build할때 포함하지 말고 java 설치 위치의 jre/lib/ext에 복사하여 사용하는것이 좋다. 2016.08.10 607
2 java quartz 시간 설정 참고사항 2015.12.16 808
1 jsoup 사용 예제 2014.06.06 1726
위로