hanker

Java - 웹 크롤링(Web Crawling) - jsoup (1) 본문

SPRING

Java - 웹 크롤링(Web Crawling) - jsoup (1)

hanker 2021. 11. 9. 14:06

이번 글은 특정 URL의 이미지 파일을 가져와서 내 웹화면에 띄우는 내용이다.

 

Spring boot 를 이용해서 간단하게 메인페이지에 사진을 가져오려고 한다.

 

 

 

<index.html>

<body>
<h2>Web crawler</h2>

<span class="web-crawling"></span>

<script>
	$(function(){
		$.ajax({
			url : "/crawling",
			type : "GET",
			dataType : "json",
			success : function (rs) {
				var html = "";
				html = rs.images;

				$(".web-crawling").append(html);
			}
		});
		
	});
</script>

</body>

 

<MainController.java>

@Controller
@RequiredArgsConstructor
public class MainController {

    private final MainService mainService;

    @GetMapping("/")
    public String main(){

        return "index";
    }

    @GetMapping("/crawling")
    public String ajaxCrawling(Model model){
        String image = mainService.webCrawling();

        model.addAttribute("images", image.toString());

        return "jsonView";
    }

}

<MainService.java>

@Service
public class MainService {

    // 크롤링할 URL 주소
    private static final String CRAWLING_URL = "";
    // 다운로드 받을 Dir 주소
    private static final String DIR = "D:\\1.download";
    // 파일명 갱신
    private static int FILE_NUM = 0;


    public String webCrawling() {

        try{
            Connection conn = Jsoup.connect(CRAWLING_URL);

            Document html = conn.get();
            // 수집할 Class 명
            Elements imageUrlElements = html.getElementsByClass("thumbnail");



            return imageUrlElements.toString();
        } catch(IOException ie){
            ie.printStackTrace();

            return "error";
        }
    }
}

 

<결과화면>

 

생각보다 간단하다. 

다음글에서는 크롤링 이미지를 내 PC로 다운로드하는 방법에 대해서 글을 쓰겠다.