반응형

안녕하세요. 이번 시간에는 웹 크롤러(Web crawler)에 대해 간단히 설명을 하겠습니다.

 

웹 크롤러는 자동으로 웹 사이트의 내용을 수집하는 로봇(robot)입니다.

 

우리가 익히 알고 있는 구글(google), 네이버(naver), 빙(bing) 등과 같은 검색 엔진(search engine)은 사용자에게 최대한 많은 양의 정보를 제공하기 위해 주기적으로 크롤러를 사용해 전세계의 모든 웹 페이지를 방문합니다.

 

그리고 방문한 웹사이트의 주소, 주제, 내용 등을 수집하고 빠르게 검색되도록 색인(indexing) 작업을 진행합니다.

 

 

우리가 알고있는 웹 사이트(web site)는 HTML(HyperText Markup Language)라는 구조화된 언어로 작성되었습니다. 아래 그림에서 <>으로된 부분을 태그(tag)라고 부르고 실제 내용은 태그로부터 쌓여있는 것을 확인할 수 있습니다.

 

출처: https://ko.khanacademy.org/computing/hour-of-code/hour-of-html/a/quick-tip-html-tags

 

이처럼 사이트는 구조화 즉 규칙성이 있기 때문에 우리는 해당 사이트의 구조만 파악하면 원하는 데이터를 쉽게 갖고 올 수 있습니다. 간략한 로직은 다음과 같습니다.

 

  • 파이썬을 사용해 원하는 웹 사이트를 요청(request)합니다.
  • 그리고 사이트의 내용을 다운로드 받습니다.
  • 우리가 원하는 데이터가 있는 위치를 찾습니다.
  • 그리고 데이터를 포함하고 있는 태그 구조를 분석합니다.
  • 구조를 파악하셨다면 파이썬 프로그래밍을 사용해 자동으로 데이터를 수집합니다.

다음 시간에는 파이썬 라이브러리인 beautifulsoup을 사용해 구글에서 이미지 URL을 갖고오는 실습을 진행하겠습니다.

 

 

python 배우기 : 네이버 카페

본 카페에서는 python 프로그래밍을 함계 학습하고 더 나아가 python을 이용해 크롤러, 기계학습을 학습

cafe.naver.com

 

+ Recent posts