메뉴 건너뛰기

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


번호 제목 날짜 조회 수
410 [tomcat] logrotate를 이용하여 catalina.out로그파일 일별로 로테이션 저장하기 file 2017.01.18 3695
409 [JSON 파싱]mongodb의 document를 GSON을 이용하여 parsing할때 ObjectId값에서 오류 발생시 조치방법 2017.01.18 4630
408 /etc/logrotate.d 을 이용한 catalina.out 나누기 file 2017.01.19 3409
407 federated query 예제 2017.01.19 3627
406 [springframework]Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Could not read resultset: unexpected end of stream, read 0 bytes from 4 오류 발생시 조치사항 2017.01.23 3214
405 Java 8에서 pom.xml에 JavaDoc 관련 태그가 설정되어 있으나 오류등으로 실패하면 나머지 Maven작업이 종료되는 문제 해결 방법 2017.01.24 3009
404 https://github.com/Merck/Halyard프로젝트 컴파일및 배포/테스트 2017.01.24 2459
403 [vi] test.nq파일에서 특정문자열(예, <>)을 찾아서 포함되는 라인을 삭제한 동일한 이름의 파일을 만드는 방법 2017.01.25 2079
402 HDFS상의 /tmp폴더에 Permission denied오류가 발생시 조치사항 2017.01.25 2763
401 파일명 혹은 확장자 일괄 변경하는 방법 2017.01.26 2810
400 테이블의 row수를 빠르게 카운트 하는 방법 2017.01.26 2512
399 우분투 16.04 설치후 APM (Apache2, PHP, MySQL) 설치 2017.01.29 3866
398 [Magento]php7에 Composer를 이용하여 Magento 2.1.3 설치 file 2017.01.30 4348
397 magento2 설치후 초기화면이 깨지는 문제 file 2017.01.31 2774
396 magento2 샘플데이타 설치 2017.01.31 3070
395 magento2 log파일 위치 2017.01.31 3320
394 magento2 2.1.3을 수동으로 설치하는 방법 2017.02.01 2974
393 fuseki가 제공하는 web ui를 통해서 dataset를 remove->create할 경우 동일한 동일한 이름으로 지정했을때 fuseki-server.jar가 뜨지 않는 현상 2017.02.03 3790
392 서버중 slave,worker,regionserver만 재기동해야 할때 필요한 기동스크립트및 사용방법 2017.02.03 3900
391 [vi]블럭 및 문서내 복사등에 관련된 명령어 2017.02.17 3497
위로