[ 웹 크롤링 ]
1. 기본적으로 코드를 분석하는 능력을 뜻함.
2. 데이터를 가공하는 능력.
3. 문서화.
스크랩핑 이란 ?
인터넷상에 존재하는 데이터를 프로그램을 이용해서 자동화된 방법으로 '수집'하는 작업.
크롤링 이란 ?
수집한 데이터들을 분류해서 별도로 '저장'하는 작업.
파싱 이란 ?
유효한 정보로 '가공' 하는 작업.
즉, 데이터를 이용할 형식에 맞게 추출하여, 의미있는 값으로 변형하는 작업.
수집(스크랩핑) → 저장(크롤링) → 가공(파싱) 을 묶어서 크롤링이라 정의.
이렇게 수집하고, 저장하고, 가공할 대상이 웹이면, 웹 크롤링 이라고 한다.
[ 웹브라우저 ]
보통 크롬이 호환성이 높아서 많이 사용된다.
크롬 (웹 브라우저) 으로 보는 화면을 웹 페이지 라고 부른다.
why ?
코드로 작성한 페이지를 브라우저로 출력한 결과이기 때문 이다.
브라우저는 GUI에 해당한다. (아이콘이 있고, 마우스 활용을 하고, ..)
이클립스로 생각하면 Console 창에 해당 한다.

브라우저란 ?
브라우저(browser)의 사전적 의미는 ‘가게 안을 둘러보거나 책을 군데군데 펼쳐 읽는다’는
뜻을 가지고 있다.
여기에 웹이 붙어서 웹 페이지를 둘러볼 수 있게 해주는 프로그램을 웹 브라우져라고 한다.
우리가 흔히 인터넷에 들어가서 하는 자료 검색, 저장, 전송 등의 일을 가능하게 해준다.
대표적인 웹 브라우저로는 인터넷 익스플로러, 파이어폭스, 크롬, 사파리 등이 있다.
구글의 크롬은 많이 사용되고 있는 웹 브라우져인데
구글이 가지고 있는 플랫폼(메일, 일정 관리, 문서 작성 및 편집, 화상회의 등)과 연동되어
효과적인 웹 탐색이 가능하다는 특징이 있다.
HTML : HyperText Mark-up Language.
Mark-up 이란 ?
태그 언어를 의미 한다.
열기 : < >
닫기 : < / >
예시 :
<head>, </head>
<!DOCTYPE HTML>
"이 문서(페이지)의 작성 언어는 HTML 이다" 를 의미 한다.
HTML의 특징 :
1. 대소문자를 구분하지 않는다.
2. 유행에 민감하다. (사용한 단어를 보면 언제 만들어진건지 유추가 가능하다)
alt == 속성(property) 이란 ?
웹 표준 "접근성 지침"을 준수하는 속성.
즉, 남녀노소 모두가 차별없이 웹 페이지를 잘 이용할 수 있게 코더는 페이지를 작성하여 제공 해야 한다.
예시 :
alt="[광고]라면이라도 먹으면 다행이라 생각했는데 도시락 보고 울컥했어요 아이들에게 주 2회 반찬 보내기">
정리 :
alt를 사용하지 않으면 나에게는 문제가 없다! == 변화가 없다 !
하지만, 스크린 리더 (와 같은 보조기구) 를 활용하는 사람들에게는 제공 자체가 되지 않는다.
사소한데 놓치기 쉬운 부분이기에, 기억 하도록 하자.
스크린리더 란 ?
컴퓨터 화면의 텍스트를 TTS를 통해 읽어주는 소프트웨어를 의미한다.
CSS : 코드를 작성해두면, 페이지의 스타일에 변화를 줄 수 있는 언어.
웹의 요청 흐름 :
사용자 (Client, 브라우저, ..) 가 버튼을 통해 요청(request)을 했을때, 이 요청은 URL에 표기가 된다.
예시 :
https://comic.naver.com/webtoon/detail?titleId=783523&no=70 (웹툰 광고 아닙니다)
프로토콜://서버(도메인)/위치/위치?변수명=값&변수명=값&변수명=값&..
해석 :
1. http s(secure : 안전한 버전) 으로
2. oo 서버(도메인) 에서
3. oo 위치에서 요청 할거야.
4. titleId = 783523&no=70에서 783523은 PK (고유번호)를 의미한다.
URL로 직접 요청이 가능하다.
서버는 요청이 무엇인지 확인해서 사용자에게 응답할 준비를 한다.
View → Controller → Model → DB → Model → Controller → View
받은 데이터를 화면에 응답 (response) 한다.
참고 :
400대 에러 ?
클라이언트 에러 (사용자측 에러)
404 잘못된 페이지를 요청.
없거나, 권한이 없는 페이지를 요청한 경우에 발생. (ex. 마이페이지)
500대 에러 ?
서버 에러 (개발자측 에러)
500 코드에 예외가 발생한 경우, NPE 80% 이상이다.
NPE : NullPointerException
NPE는 내가 부른 객체가 null 값이 아닌지 ? 를 확인 !
자바로 웹 크롤링을 해보기
라이브러리 ?
1. 자바 코드 묶음 (.jar)
2. 미리 구현한 코드를 제공하는 파일.
3. 라이브러리 분석 XXX
(이미 완벽한 코드를 배포한 것이기 때문에 굳이 분석할 이유가 없다 !)
따라서, 라이브러리를 잘 활용하는것에 포커스를 맞춰야 한다.
4. Jsoup 클래스는 자동 import 불가능 하다.
자바에서 기본 제공 하는 클래스가 아니기 때문 이다.
따라서 라이브러리를 추가 해야 한다.
https://jsoup.org/download 에서 다운로드가 가능하다. (.jar 파일)
외부의 jar 추가를 하면 자동 import가 가능해진다.
'DB (DataBase) (국비) > DB 메모' 카테고리의 다른 글
수업 메모 (2) | 2023.06.10 |
---|---|
next() 메서드 (0) | 2023.06.09 |
JDBC 모듈화 관련 개념 (0) | 2023.06.09 |
메모 (0) | 2023.06.07 |
자바에서 웹 크롤링 해보기 (0) | 2023.05.31 |