| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- @
- application.properties
- 바인딩변수
- springjdbc
- 유효성검사
- PointCut
- 의존주입
- produces
- 스프링
- MVC
- SpringBoot
- .xml
- Model
- Java
- @RequestParam
- @ResponseBody
- 서비스레이어
- springmvc
- spring
- c:if
- @Valid
- jointpoint
- AOP
- gradle
- 생성자주입
- 어노테이션
- @RequestMapping
- 비즈니스레이어
- frontController
- after-throwing
- Today
- Total
메모장
[실습 문제] 지니뮤직 웹크롤링 해보기 ! 본문
1. 스크랩핑
인터넷상에 존재하는 데이터를
프로그램을 이용해서 자동화된 방법으로
수집하는 작업
↓
2. 크롤링
수집한 데이터들을 분류해서
별도로 저장하는 작업
↓
3. 유효한 정보로 '가공'
파싱 -> 가공하는 작업을
유효한 정보로 '가공'하는 작업
데이터를 이용할 형식에 맞게 추출하여
의미있는 값으로 변형하는 작업
(내가 쓰려는 정보로 다듬는 작업이다)
=> 크롤링 (수집해서 분류하고 가공한다 까지가 크롤링이다.)
이걸 웹상에서 크롤링 한다. 웹 크롤링
이 순서대로 진행한다 !
- 지니뮤직 사이트에 접속하여 스크랩 하고 싶은 내용을 찾는다 !

2. F12 번을 눌러서 지니뮤직의 코드를 살펴본다 ! (지니뮤직 실시간 TOP200의 페이지 )

1) 노래 제목의 코드는 어떤 구조로 짜여져 있는지 살펴 보자

2) 가수 이름의 코드는 어떻게 짜여져 있는지 살펴보자

3. 자바로 스크랩핑을 한다 !
그 전에 !!!

jsoup-1.16.1.jar 파일을 다운로드 받는다 .

자바 설치 순서 : 프로젝트 우클릭 -> 맨 밑에 Properties 클릭 후 1,2,3,4,5
설치를 마치고 나면 ...!
- 웹 페이지 코드 java로 가져오기

2. 스크랩핑 하기

3. 페이지 코드 분석하기

4. 추출 완료한 데이터를 contsole 화면에 출력

5. 데이터 가공하기
여기서 잠깐 ! 지니뮤직은 1~5위는 상위에 언급하고 있다 . 따라서 중복으로 결과 값이 나타난다.

그것에 따른 중복 결과 (console)

그래서 조건문을 붙여 보았다 !

결과는 ???

실시간 차트 스크랩 성공
- 웹크롤링 실습중 만났던 에러

가수와 제목 두 가지를 스크랩하면서 각각의 크기가 다를수 있는데 내가 적게 가지고 있는데 더 많은것을 출력해달라고 할때 찾을수 있는게 없어서 일어나는 No SuchElementException 이다
두 변수의 크기를 어떻게 비교 해야 하는가

c1,c2의 변수를 설정후 각각 반복문 후 크기를 측정 String itr 변수가 좀더 작으므로 itr.hasNext()를 돌리면 예외가 발생하지 않는다 . 예외 처리에는 다양한 방법이 있다 . &&로 itr.hasNext() &&itr2.hasNext() 서로 묶어도 되고 try-catch로 예외처리를 해주는 방법도 있다 !
'JAVA > [실습문제]' 카테고리의 다른 글
| [실습문제] 회원 상품구매 MVC패턴 2 (0) | 2024.04.08 |
|---|---|
| [실습문제] 회원 상품구매 MVC패턴 (0) | 2024.04.08 |
| [실습문제] 자판기프로그램 MVC패턴 (0) | 2024.04.08 |
| [실습문제] 포켓몬(추상클래스, private) (0) | 2024.04.08 |
| [실습문제] 상속 (응용문제) (0) | 2024.04.08 |