-
[Java] 크롤링(Crawling)프로그래밍/JAVA 2022. 8. 17. 12:26728x90
Crawling 혹은 scraping은 인터넷 또는 컴퓨터에 나눠 저장되어있는 문서를 수집 및 추출하여 색인으로 포함시키는 기술이다.
크롤링하는 프로그램을 크롤러(crawler)라고 부른다.
크롤링 하기위해서는 https://jsoup.org/download 페이지에서 관련 라이브러리를 다운받으면된다.
import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.util.Iterator; public class Crawling1 { public static void main(String[] args) { String url = "http://www.cgv.co.kr/movies/"; System.out.println("접속 주소 :" + url); Document doc = null; try{ // url를 통해 홈페이지에 접속하여 html 정보들을 불러옴 doc = Jsoup.connect(url).get(); Elements elements = doc.select("div.sect-movie-chart"); // div 태그의 sect-movie-chart인 클래스를 불러옴 Iterator<Element> rank = elements.select("strong.rank").iterator(); Iterator<Element> title = elements.select("strong.title").iterator(); // 원하는 데이터를 리스트 형태로 가져와 Iteratoer로 담아주게된다. while(rank.hasNext()){ System.out.println(rank.next().text() + " : " + title.next().text()); // hasNext()를 활용하여 다음 데이터의 유무를 확인하고 // next()를 활용하여 다음 데이터로 이동하여 text()를 받아온다. } }catch (Exception e){ e.printStackTrace(); } } }
Iterator 는 반복자의 의미로 배열 따위의 자료구조 안을 돌면서 들어있는 데이터에 접근할 수 있게 해주는 객체이다.
Iterator는 컬렉션에서 요소를 제어하는 기능이 있으며, next(), previous() 메소드를 사용하여 앞 뒤로 이동하는 기능과 hasNext() 메소드를 사용해서 더 많은 요소가 있는지 확인하는 기능을 제공한다.
728x90'프로그래밍 > JAVA' 카테고리의 다른 글
[Java] Arrays.asList() (0) 2023.03.11 [Java] Selenium(셀레니움) (0) 2022.08.18 [Java] LocalDateTime (0) 2022.08.16 [Java] swing (0) 2022.08.16 [Java] 소켓 통신(socket) (0) 2022.08.15