크롤링&스크래핑

Crawling STEP 2 - 다음 영화페이지 크롤링

IT의 큰손 2023. 5. 26. 10:41
728x90

★ 다음 영화 페이지

 

HOME

Daum영화에서 자세한 내용을 확인하세요!

movie.daum.net

  • 영화 박스오피스 순위 -> 크롤링
  • 개발자 모드 F12를 이용하여 태그 분석

 

★ 소스

package com.test.crawling;

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class Ex03 {

	public static void main(String[] args) {
		
		
		try {
			
			//가져올 URL
			String url = "https://movie.daum.net/ranking/boxoffice/weekly";
			
			//URL을 연결 
			Document doc = Jsoup.connect(url).get();
			
			//System.out.println(doc.select(".list_movieranking").size());
			
			//자식 태그 찾기
			
			//영화 목록
			Elements list = doc.select(".list_movieranking li");
			
			System.out.println("영화 목록 : " + list.size() + "편");
			
			//데이터 가져오기
			for (Element movie :list) {
				
				//영화 제목
				String title = movie.select(".link_txt").text();
				System.out.println(title);
				
				
				//개봉 날짜
				String date = movie.select(".txt_num").text();
				System.out.println(date);
				
				//관객수
				String num = movie.select(".info_txt:nth-child(2)").text();
				System.out.println(num.replace("관객수", ""));
				
				//설명
				String story = movie.select(".link_story").text();
				System.out.println(story);
				
				//이미지
				String poster = movie.select(".img_thumb").attr("src");
				System.out.println(poster);
				
				System.out.println();
				
				
			}
			
			
		} catch (IOException e) {
			
			e.printStackTrace();
		}
		
	}
	
	
}

 

 

■ 실행 결과

 

■ 이미지 다운로드 ->

//이미지 다운로드
URL posterUrl = new URL(poster);

BufferedImage image = ImageIO.read(posterUrl);
File file = new File("poster\\" + title + ".png");

ImageIO.write(image, "png", file);
  • 실행 결과

다운로드 성공

728x90