JAVA 웹 크롤링_CGV 무비차트

jngyoon·2023년 7월 21일
0

혼공일기

목록 보기
4/24
post-thumbnail

JAVA Selenium을 이용하여 CGV 무비차트 크롤링하기

http://www.cgv.co.kr/movies/?lt=1&ft=0

< 크롤링 할 정보 >

  • 영화제목 : class title
  • 예매율 : class score - class percent
  • 에그스코어 : class score - class percent
  • 개봉일자 : class txt-info

코드

👌buildpath에 selenium-server-4.10.0.jar 추가

import java.util.List;
import java.util.Scanner;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class Cgv {
	public static void main(String[] args) throws Exception{
		String url = "http://www.cgv.co.kr/movies/?lt=1&ft=0";	//크롤링 할 웹사이트 url 담기
		WebDriver driver = new ChromeDriver();	//드라이버 객체 생성
		driver.get(url);
		//더보기 버튼 클릭
		driver.findElement(By.className("btn-more-fontbold")).click();			
		Thread.sleep(500);
		
		System.out.println("< CGV 무비차트 (예매율순)>");
        
		//크롤링 할 정보 리스트에 담기		
		List<WebElement> titleList = driver.findElements(By.className("title"));
		List<WebElement> scoreList = driver.findElements(By.className("score"));
		List<WebElement> txtinfoList = driver.findElements(By.className("txt-info"));
		
		for (int i = 0; i < titleList.size(); i++) {
			//score클래스 안에 percent클래스가 두 개(예매율, 에그스코어) => percent 객체 리스트에 담기
            List<WebElement> percent = scoreList.get(i).findElements(By.className("percent"));
			int no = i+1;
			System.out.println(no+". "+titleList.get(i).getText()
					+"("+percent.get(0).getText()+"/ 에그스코어 "+percent.get(1).getText()+")"
					+"["+txtinfoList.get(i).getText()+"]");
		
		}
		driver.close();	//크롬 창 닫기
		driver.quit();	//드라이버 끄기
	}

}

결과

0개의 댓글