백엔드(Back-end)/Python

[Python] 파이썬에서 자주쓰는 웹크롤링 이란 ? 쉽게 이해해보자

기록하는 동구 2021. 3. 5. 09:19
반응형

 

크롤링 이란 무엇일까?

 

구글에 검색해보면 ,

 

웹 스크래핑, 웹스파이더링, 웹크롤링이라고 불리는 이 기술은 웹페이지에 널려져있는 데이터들을 프로그래밍적으로 추출하는 행위를 말한다.

 

쉽게 이해하자면 웹페이지상에서 데이터를 긁어와서 가져오는 것이다. 아래 그림을 보면 확실하게 이해가 된다.

 

 

 

 


 

크롤링의 원리

 

먼저 크롤링의 원리를 이해하기위해 간단히 웹페이지의 구성을 살펴보겠습니다.

 

웹페이지의 구성

 

웹페이지는 총 3가지로 이루어져있습니다. 간단히 설명을 하자면

 

구조를 잡는 HTML , 디자인을하는 CSS, 사용자와 동적으로 상호작용하는 Javacript 입니다.

 

크롬 브라우저를 쓰신다면 어느 웹페이지를 들어가시더라도 F12를 누르시면 아래 처럼 개발자모드가 켜지면서  이 세가지를 확인하실수 있습니다.

 

 

 

개발자 모드

 

이렇게 표시되는 HTML들을 참고해서 해당 웹크롤러 기술을 활용해 정보를 가져오는것이 웹크롤링의 원리입니다.

 

 

 


 

 

크롤링의 활용 예들 (웹페이지에서 원하는 정보를 가져올때)

 

1) 네이버뉴스, 다음뉴스 등등 여러가지 뉴스웹사이트에서 나오는 정보들을 일괄적으로 자신이 원하는 입맛에 맞춘 데이터들만 뽑아내겠다 

 

2) 멜론 사이트에서 현재 음악차트 순위를 가져와 엑셀파일로 만들때

 

3) 여러 쇼핑몰사이트에서 내가원하는 키워드에대해 모든 가격을 가져와서 최저가비교를 해보겠다

 

 

 

 

 


 

 

내가 하고있는게 과연 웹 크롤링 일까?

 

웹 크롤링에대해서 알아보다가 웹크롤링에대한 비판적인 시각을 키워줄수있는 좋은 글을 발견했습니다.

selenium 과 BeautifulSoup4 등등 여러 라이브러리로 단순히 웹을 긁어오는거에서 끝나는게 아니라 웹크롤링에대한 넓은 시야를 얻을수있습니다.

 

참고해보세요! 아래링크에 첨부했습니다.

 

velog.io/@mowinckel/%EC%9B%B9-%ED%81%AC%EB%A1%A4%EB%A7%81-I

 

🏭 '웹 크롤러' 좀 그만 만들어라

아무튼 그만 만들어라.

velog.io

 

반응형