크롤링은 '어떤 데이터를 크롤링 하는가'에 따라 크게 정적크롤링과 동적크롤링으로 나뉜다.
✅ 정적 크롤링
정적 크롤링은 로그인과 같은 사전 작업 없이, 한 페이지 내부에서 원하는 데이터를 수집할 때 사용한다.
동영상 스트리밍 사이트의 인기 동영상 같은 경우라고 생각하면 편하다.
따라서 정적 크롤링은 주소를 통해 데이터를 요청하고, 결과를 받는 것으로 크롤링이 종료된다.
한 페이지 내에서 모든 작업이 이루어지기 때문에 속도가 매우 빠르다라는 장점을 가진다.
하지만 주소를 통해 데이터를 받다보니, 로그인 > 페이지 이동> 클릭 > 데이터 수집 과 같은 연속적인 작업은 수행이 불가능하다.
따라서 페이지의 변화가 조금이라도 필요한 경우에는 적용이 힘들기 때문에 수집 대상에 한계가 있다는 단점이 있다.
제목과 가수, 발매일자가 필요하다 가정해보자
위처럼 페이지 내부에서 모든 데이터를 확인할 수 있기 때문에 해당 정보를 정적크롤링으로 수집 가능하다.
하지만 가사가 필요하다면 어떻게 가져와야 할까?
화살표 클릭을 해야 가사가 보이기 시작한다.
이처럼 노래 가사처럼 페이지 이동과 추가 조작이 필요한 경우 정적크롤링은 사용할 수 없다.
이러한 경우에는 정적 크롤링과 반대되는 동적 크롤링을 사용해야 한다.
✅ 동적 크롤링
동적크롤링은 정적 크롤링과는 다르게, 입력, 클릭, 로그인 등과 같이
페이지 내부에서 조작이 필요한 데이터를 수집할 때 사용한다.
추가적인 조작이 필요하기 때문에 정적 크롤링에 비해 수집 속도가 느리지만
수집 대상에 한계가 거의 없다는 큰 장점을 가지고 있다.
✔ 정적 크롤링-정적인 데이터를 수집
- 장점: 수집속도가 빠르다.
- 단점: 수집대상에 한계가 있다.
✔ 동적 크롤링-동적인 데이터를 수집
- 장점: 수집대상에 한계가 없다.
- 단점: 수집속도가 느리다.
'[python] > 웹 크롤링' 카테고리의 다른 글
[웹 크롤링] 6. 정적 크롤링(1) (0) | 2022.05.18 |
---|---|
[웹 크롤링] 5. 선택자 (0) | 2022.05.12 |
[웹 크롤링] 4. HTML 구조 (0) | 2022.05.09 |
[웹 크롤링] 3 . 라이브러리와 크롤링 준비 (0) | 2022.05.08 |
[웹 크롤링] 1. 웹 크롤링이란? (0) | 2022.05.06 |