본문 바로가기

[python]/웹 크롤링

[웹 크롤링] 2. 크롤링의 종류

728x90

크롤링은 '어떤 데이터를 크롤링 하는가'에 따라 크게 정적크롤링과 동적크롤링으로 나뉜다.

 

정적 크롤링

 

정적 크롤링은 로그인과 같은 사전 작업 없이, 한 페이지 내부에서 원하는 데이터를 수집할 때 사용한다.

동영상 스트리밍 사이트의 인기 동영상 같은 경우라고 생각하면 편하다.

 

 

따라서 정적 크롤링은 주소를 통해 데이터를 요청하고, 결과를 받는 것으로 크롤링이 종료된다.

한 페이지 내에서 모든 작업이 이루어지기 때문에 속도가 매우 빠르다라는 장점을 가진다.

 

하지만 주소를 통해 데이터를 받다보니, 로그인 > 페이지 이동> 클릭 > 데이터 수집 과 같은 연속적인 작업은 수행이 불가능하다.

 

따라서 페이지의 변화가 조금이라도 필요한 경우에는 적용이 힘들기 때문에 수집 대상에 한계가 있다는 단점이 있다.

 

 

제목과 가수, 발매일자가 필요하다 가정해보자 

위처럼 페이지 내부에서 모든 데이터를 확인할 수 있기 때문에 해당 정보를 정적크롤링으로 수집 가능하다.

 

하지만 가사가 필요하다면 어떻게 가져와야 할까?

화살표 클릭을 해야 가사가 보이기 시작한다.

이처럼 노래 가사처럼 페이지 이동추가 조작이 필요한 경우 정적크롤링은 사용할 수 없다.

 

이러한 경우에는 정적 크롤링과 반대되는 동적 크롤링을 사용해야 한다.

 

동적 크롤링

 

동적크롤링은 정적 크롤링과는 다르게, 입력, 클릭, 로그인 등과 같이 

페이지 내부에서 조작이 필요한 데이터를 수집할 때 사용한다.

 

추가적인 조작이 필요하기 때문에 정적 크롤링에 비해 수집 속도가 느리지만

수집 대상에 한계가 거의 없다는 큰 장점을 가지고 있다.

 

 

✔ 정적 크롤링-정적인 데이터를 수집

  • 장점: 수집속도가 빠르다.
  • 단점: 수집대상에 한계가 있다.

✔ 동적 크롤링-동적인 데이터를 수집

  • 장점: 수집대상에 한계가 없다.
  • 단점: 수집속도가 느리다.
728x90