[2번 select하기]
블로그 글 목록에서 제목과 작성일자를 크롤링 할때
->Elements eles=doc.select("div#body > ul > li");
이렇게 하면 li태그에 있는 모든 값이 하나로 불러오게 된다.
Elements eles=doc.select("div#body > ul > li");
Iterator<Element> itr=eles.iterator();
Iterator<Element> itr1=eles.select("a").iterator();
Iterator<Element> itr2=eles.select("span").iterator();
이런식으로 하면 li태그 아래에 있는 a태그와 span태그를 따로 불러올 수 있다.
[ArrayList에 크롤링 한 값 저장]
ArrayList<BlogVO> datas = new ArrayList<BlogVO>();
while(itr1.hasNext()) {
BlogVO vo = new BlogVO();//ArrayList에 저장하기 위해 BlogVO객체 생성
vo.setTitle(itr1.next().text());//.next할때 마다 다음 index로 이동한다.
vo.setDay(itr2.next().text());//.text() = 태그를 제거한 값으로 저장한다
System.out.println();
datas.add(vo);
}
[ArrayList에 저장된 값 DB에 저장하기]
conn=JDBCUtil.connect();//JDBCUtil 패키지에서 conn가져오기
String sql = "insert into blog (bid,title,day) values((select nvl(max(bid),0)+1 from blog),?,?)";//쿼리문
try {
pstmt=conn.prepareStatement(sql);
for (BlogVO v : datas) {
pstmt.setString(1, v.getTitle());
pstmt.setString(2, v.getDay());
pstmt.executeUpdate();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
'JAVA' 카테고리의 다른 글
day21) Java를 이용한 웹 크롤링1 - 기본 개념 (0) | 2022.01.25 |
---|---|
day20) 트랜잭션1 (0) | 2022.01.23 |
day19) JDBC를 이용한 DB연동2 - CRUD구현 (0) | 2022.01.22 |
day18) JDBC를 이용한 DB, Eclipse 연동 (0) | 2022.01.20 |
day17) [용어 정리 ] 컴포넌트, DBMS, JDBC (0) | 2022.01.19 |
댓글