-
웹 크롤러와 서버,클라이언트 간단 정리Programming/web 2022. 3. 14. 22:33
1. 크롤러
크롤러는 WWW(world wide web)인 인터넷 속을 자유롭게 다니는 프로그램을 의미한다.
<크롤러를 부르는 다양한 표현>
크롤러 = 스크래퍼 = 지능 에이전트 = 봇 = 스파이더
크롤러가 동작하는 것을 크롤링, 스크래퍼가 동작하는 것을 스크래핑이라고 한다.
정확히는 페이지를 돌아다니는 행위를 크롤링, 특정 페이지의 데이터를 수집하는 행위는 스크래핑이다.
2. 크롤러를 만들어야 하는 이유
1) 데이터 생산
2GB는 바이트로는 20억 바이트로 2바이트 크기를 가진 한글 문자 1억 자에 해당하는 양의 데이터이다.
데이터가 생산되고 데이터를 접하는 양이 점점 더 많아져 직접 데이터를 수집하기 쉽지 않다.
2) 데이터 사용
인공지능, 머신러닝, 딥러닝 분야에서 학습용 데이터로 많은 양을 필요로 한다. 데이터가 많을 수록 예측이 더 정확해지기 떄문이다. 게임 분야 뿐만 아니라 Siri와 같은 음성인식, 핀테크, 자동 운전, 검색 엔진 등 다양한 분야에서 사용이 된다.
3) 데이터 수집 방법
일반적으로 API를 이용한다. API는 특정 서비스가 데이터를 제공하는 방법이다. 웹은 API를 제공하지 않기 떄문에 크롤러를 만들면 웹에서 제공하는 데이터 수집이 가능해진다. 데이터 수집 뿐 아니라 처리와 가공까지 가능하다.
3. 클라이언트와 서버
1) 클라이언트
크롤러에 필요한 지식 중 하나로 클라이언트는 웹 브라우저 및 웹을 의미한다. 우리가 사용하고 있는 각종 앱, 프로그램, 웹 브라우저를 클라이언트 프로그램이라고 한다.
2) 서버
클라이언트를 제외하고 보이지 않는 곳에서 클라이언트의 처리를 도와주는 것
클라이언트가 필요한 데이터를 제공해주는 역할을 한다.
서버가 없다면 클라이언트는 존재하지 않는다.
3) 서버의 종류
데이터 또는 서비스를 제공하는 형태에 따라 서버의 종류는 다음과 같이 여러 개로 나뉜다.
-영상제공
-파일
-도메인
-전자우편
-채팅 및 음성
-게임
-웹 서버
3-1) 영상 서버
데이터를 한번에 주는 게 아니라 일정량을 분할하여 전송한다 = 스트리밍
3-2) 파일 서버
과거에는 P2P를 많이 사용, 오늘날에는 각종 드라이브를 사용한다. FTP, SFTP로 개인이 파일 서버를 구축하기도 한다.
3-3) 채팅 및 음성 서버
카카오톡을 포함한 메신저 어플
3-4) 도메인 서버
도메인 주소에 대응되는 IP를 알려주는 것이 도메인 네임 서비스(DNS)이다.
3-5) 게임 서버
물리적으로 떨어져있는 유저들이 멀티플레이가 가능하게 한다
3-6) 웹 서버
웹 브라우저를 통해 요청된 페이지를 받아오는 서버이다. 정적 페이지, 동적 페이지와 같은 형태로 제공한다. 동적 페이지는 게시판과 같이 데이터가 늘어났다 줄어드는 페이지를 말한다. 페이지를 띄울 때마다 다른 데이터가 뜬다.
*참고도서: 파이썬으로 배우는 웹 크롤러, 박정태 지음
'Programming > web' 카테고리의 다른 글
[css] 사용자가 스크롤을 못하도록 하기 (0) 2022.07.05 [JS] 문자열 안에 변수 넣는 `탬플릿 리터럴` (0) 2022.06.20 [HTML] 태그 정리 (0) 2022.03.15 서버<-> 클라이언트 데이터를 주고 받는 방법 (0) 2022.03.15 [AJAX] 서버-클라이언트 비동기 통신 (0) 2022.03.06