본문 바로가기
DB (DataBase) (국비)/DB 메모

웹 크롤링 및 웹 브라우저의 개념 및 기타 정리

by Hwanii_ 2023. 5. 31.
728x90

[ 웹 크롤링 ]

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