웹 크롤링을 하기전에 알아야 할 것들 !!
(1) Client & Server

Client
- 브라우져를 통해 서버에 데이터를 요청
Server
- Client가 데이터를 요청하면 요청에 따라 데이터를 전송
(2) Get & Post
Get
- Url에 데이터가 포함된다. -> 데이터가 노출
- 길이 제한이 있음
Post
- Body에 데이터가 포함된다. -> 데이터가 숨겨짐
(4) Internet
: 인터넷은 컴퓨터로 연결하여 TCP/IP (Transmission Control Protocol/Internet Protocol) 라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크
(5) Cookie & Session & Cache
Cookie
- Client에 저장하는 문자열 데이터로 도메인 별로 따로 저장
- 로그인 정보, 내가 봤던 상품 정보, 팝업 다시보지 않음
- 하나의 클라이언트에 300개, 도메인당 20개, 쿠키 하나당 4Kbyte
Session
- Server에 저장하는 객체 데이터, 브라우져와 연결시 Session ID 생성
- Session ID를 Cookie에 저장함으로 로그인 연결 유지
- 같은 브라우져로 같은 서버에 접속하면 Session ID가 같음
- 로그인 연결 정보, 원하는 객체 데이터
Cache
- Client나 Server의 메모리에 저장하여 빠르게 데이터를 가져오는 목적의 저장소
(6) HTTP Status Code
: 서버와 클라이언트가 데이터를 주고 받으면 주고 받은 결과로 상태 코드를 확인할 수 있다.
2xx - success
3xx - redirection (browser cache)
4xx - request error
5xx - server error
(7) Web Language & Framework
Client
- HTML
- CSS - less, sass
- Javascript - vue.js, react.js, angelar.js, backborn.js
Server
- Python - Django, Flask
- Java - Spring
- Ruby - Rails
- Javascript - Nodejs (Express)
- Scala - Play
(8) Scraping & Crawling & Spider & Bot
Scraping
: 데이터를 수집하는 작업
Crawling
: 여러페이지의 특정 데이터들을 수집하고 분류하는 작업
Spider or Web crawler
: 웹 데이터를 수집하는 소프트웨어
Bot
: 인터넷 상에서 자동화된 작업을 실행하는 소프트웨어
<Web Crawling>
웹페이지의 종류
- 정적인 페이지 : 웹 브라우져에 화면이 한번 뜨면 이벤트에 의한 화면의 변경이 없는 페이지
- 동적인 페이지 : 웹 브라우저에 화면이 뜨고 이벤트가 발생하면 서버에서 데이터를 가져와 화면을 변경하는 페이지

requests 이용
: 받아오는 문자열에 따라 두가지 방법으로 구분
- json 문자열로 받아서 파싱하는 방법 : 주로 동적 페이지 크롤링 할 때 사용
- html 문자열로 받아서 파싱하는 방법 : 주로 정적 페이지 크롤링 할 때 사용

selenium 이용
: 브라우져를 직접 열어서 데이터를 받는 방법
크롤링 방법에 따른 속도
requests json > requests html > selenium
'AIVLE' 카테고리의 다른 글
| Web Crwaling ③ - 다음 환율 데이터 수집 (0) | 2023.02.19 |
|---|---|
| Web Crwaling ② - 네이버 주가 데이터 수집 (1) | 2023.02.17 |
| 데이터 분석 및 의미 찾기 (0) | 2023.02.09 |
| 데이터 처리 (0) | 2023.02.07 |
| Python 라이브러리 (0) | 2023.02.06 |