본문 바로가기

JAVA

Jsoup을 이용한 웹 크롤링 (1)

반응형

스크랩핑 
  -> 웹에서 데이터를 수집하는 방법  
크롤링 
  -> 수집된 데이터들을 분류, 주로 인터넷의 웹페이지를 수집해서 분류하고 저장하는 작업
파싱(가공) 
  -> 특정형식에 맞춰 데이터를 추출하고 의미있는 값으로 변형하는 작업 


웹툰 사이트 데이터 크롤링

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
package class05;
 
import java.io.IOException;
import java.util.Iterator;
 
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
 
public class Test01 {
 
   public static void main(String[] args) {
      
      // Jsoup
      // 타겟 URL와 연결 -> conn
      final String url="https://comic.naver.com/index";
      Document doc=null;
      try {
         doc=Jsoup.connect(url).get(); // 커넥션 확보 
      } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
      }
      /////System.out.println(doc); //출력했을땐 f12에서 나오는 코드 그대로 나옴 
      // Jsoup으로 HTML 전체문서를 받아옴
      
      // 불러오는 것은 문자열 아니고 사진도 가능함 
      Elements eles=doc.select("ul > li > div > h6 > a > span");
      /////System.out.println(eles);
      
      DAO dao = new DAO();
      
 
      Iterator<Element> itr=eles.iterator(); //iterator 어떠한 데이터 집합을 하나씩 카피해서 보여주는 것
      while(itr.hasNext()) {
         /////System.out.println(itr.next());
         String str=itr.next().text();
         System.out.println(str);
         VO vo = new VO();
         vo.setTitle(str);
         dao.insert(vo);
      }
      System.out.println("로그 : DB에 저장완료!");
  
      for(VO v : dao.selectAll(null)) {
          System.out.println(v);
      }
   }
 
}
cs

 

 

반응형