메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

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


번호 제목 글쓴이 날짜 조회 수
33 Class.forName을 이용한 메서드 호출 샘플소스 총관리자 2016.12.21 105
32 java스레드 덤프 분석하기 file 총관리자 2016.11.03 114
31 Collections.sort를 이용한 List<User>형태의 데이타 정렬(숫자, 문자에 대해서 각각 asc/desc및 복합정렬) 총관리자 2016.12.15 118
30 lagom에서 제공하는 초기 생성기능을 이용하여 생성한 프로젝트의 소스 파악 총관리자 2018.01.16 119
29 [jsoup]Jsoup Tutorial 총관리자 2017.04.11 151
28 windows7에서 lagom의 hello world를 빌드하여 실행하는 경우의 로그(mvn lagom:runAll -Dscala.binary.version=2.11) 총관리자 2017.12.22 159
27 maven을 이용하여 Hello world 서비스 자동 생성시 HelloServiceImpl.java에서 사용하는 getMessage() 와 getName() 이 정의되지 않은 오류가 발생시 조치방법 총관리자 2018.01.19 177
26 scala-eclipse 다운로드 총관리자 2019.06.09 183
25 java quartz 시간 설정 참고사항 총관리자 2015.12.16 184
24 mybais #과 $의 차이점 총관리자 2015.11.10 187
23 [메모리 덤프파일 분석] 총관리자 2017.03.31 203
» [Jsoup]특정페이지를 jsoup을 이용하여 파싱하는 샘플소스 총관리자 2017.04.18 210
21 lagom의 online-auction-java프로젝트 실행시 "Could not find Cassandra contact points, due to: ServiceLocator is not bound" 경고 발생시 조치사항 총관리자 2017.10.12 223
20 [tomcat] logrotate를 이용하여 catalina.out로그파일 일별로 로테이션 저장하기 file 총관리자 2017.01.18 323
19 VisualVM 1.3.9을 이용한 JVM 모니터링 file 총관리자 2016.10.27 340
18 embedded-cassandra의 data 저장위치 총관리자 2019.06.09 344
17 python2.7.4에서 Oracle DB(11.2)를 사용하기 위한 설정(RPM을 이용하여 RHEL 7.4에 설치) 총관리자 2021.11.26 355
16 Eclipse실행시 Java was started but returned exit code=1이라는 오류가 발생할때 조치방법 총관리자 2016.11.07 402
15 servlet-api를 jar형태로 build할때 포함하지 말고 java 설치 위치의 jre/lib/ext에 복사하여 사용하는것이 좋다. 총관리자 2016.08.10 468
14 초기 오류(java.lang.NoSuchMethodError)에 따른 후속 작업에서 오류(java.lang.NoClassDefFoundError)가 발생되는 상황(quartz에서 주기적으로 작업시) 총관리자 2016.08.29 606

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로