본문 바로가기
Python

Python | 웹 스크랩핑 VS 웹 크롤링 - 차이점을 아시나요~🎵

by Learn, Code, Repeat 2022. 6. 1.
반응형

프로그래밍 언어를 처음 배울 때 제일 궁금한 건 "이건 어따 써먹지?"이다.

그중에서도 파이썬은 사용 용도가 방대해서 이 질문의 답으로 여러 가지를 들어봤을 거다.

추측하자면 데이터 사이언스, AI, 그리고 웹 이 탑 3에 들 거다.

그리고 간혹 웹 스크 랩핑, 또는 웹 크롤링도 들어봤을 거다.

 

그런데 웹 스크 랩핑과 웹 클롤링의 차이점을 알고 있는가?

언뜻 들으면 "같은 거 아냐?"라고 할 수 있다.

 

뭐, 쉽게 말하면 비슷하다.

둘 다 웹 페이지에서 내가 필요로 한 정보를 가져오는 용도로 사용된다.

 

그럼 차이점은?

각자 가져오는 정보에 차이가 있다.

 

웹 스크 랩핑은 내가 필요한 정보를 어디서, 어떤 정보를 가져올지 이미 알고 있는 경우다.

즉, 사이트/페이지의 주소와 거기서 어떤 정보를 가져올지를 이미 알고 있다.

웹 스크 랩핑의 결과물은 내가 미리 정한 데이터이다.

 

웹 크롤링의 경우에는 두 가지의 케이스가 존재한다.

첫 번째는 아무것도 모르는 상태에서 불특정 다수의 사이트 주소들을 얻는 것이다.

구글의 서치 엔진을 생각하면 이해하기 쉽다. 구글의 서치 엔진은 웹, 그러니까 인터넷을 돌아다니면서 모든 사이트들의 주소들을 모은다. 그리고 이걸 기반으로 검색 결과를 보여주는 것이다.

 

두 번째는 사이트의 주소만 알고 있는 경우이다.

정보를 가져올 사이트의 주소는 알지만 사이트 어디에서 가져와야 하는지 모를 때,

이때 클롤링으로 사이트에 있는 URL들을 찾을 수 있다.

찾은 URL들을 모두 사용하거나, 내가 원하는 범위를 정해 걸러낼 수도 있다.

웹 크롤링의 결과물은 URL이다.

 

결론은 웹 스크 랩핑과 웹 크롤링은 대부분 같이 사용된다는 것이다.

크롤링으로 URL들을 찾아내고, 스크랩퍼로 찾아낸 URL들을 다니면서 데이터를 긁어오는 것이 우리가 흔히 말하는 웹 스크 랩핑이다.

 

웹 스크 랩핑을 할 때 주의해야 하는 것은 그 사이트의 스크 랩핑/크롤링 허용 범위이다.

어떤 사이트들은 스크 랩핑/크롤링을 허용하지 않는 반면, 어떤 사이트들은 허용하되 가져간 정보의 사용 여부에 따라 법적 문제가 생길 수도 있다.

 

나도 이쪽의 법을 정확히는 잘 몰라서 뭐라 말해줄 수 있는 게 없다. 학교 프로젝트할 때 기억으론 사이트의 '이용약관' 이런 페이지에 보면 적혀있는 경우가 있었다. 아니면 사이트의 운영진이나 고객상담에 문의해보는 것도 방법이겠다.

 

혹시 이쪽 법을 잘 아는 분이라면 댓글에 조언 부탁드린다.

댓글