반응형
안녕하세요. 이번 시간에는 웹 크롤러(Web crawler)에 대해 간단히 설명을 하겠습니다.
웹 크롤러는 자동으로 웹 사이트의 내용을 수집하는 로봇(robot)입니다.
우리가 익히 알고 있는 구글(google), 네이버(naver), 빙(bing) 등과 같은 검색 엔진(search engine)은 사용자에게 최대한 많은 양의 정보를 제공하기 위해 주기적으로 크롤러를 사용해 전세계의 모든 웹 페이지를 방문합니다.
그리고 방문한 웹사이트의 주소, 주제, 내용 등을 수집하고 빠르게 검색되도록 색인(indexing) 작업을 진행합니다.
우리가 알고있는 웹 사이트(web site)는 HTML(HyperText Markup Language)라는 구조화된 언어로 작성되었습니다. 아래 그림에서 <>으로된 부분을 태그(tag)라고 부르고 실제 내용은 태그로부터 쌓여있는 것을 확인할 수 있습니다.
이처럼 사이트는 구조화 즉 규칙성이 있기 때문에 우리는 해당 사이트의 구조만 파악하면 원하는 데이터를 쉽게 갖고 올 수 있습니다. 간략한 로직은 다음과 같습니다.
- 파이썬을 사용해 원하는 웹 사이트를 요청(request)합니다.
- 그리고 사이트의 내용을 다운로드 받습니다.
- 우리가 원하는 데이터가 있는 위치를 찾습니다.
- 그리고 데이터를 포함하고 있는 태그 구조를 분석합니다.
- 구조를 파악하셨다면 파이썬 프로그래밍을 사용해 자동으로 데이터를 수집합니다.
다음 시간에는 파이썬 라이브러리인 beautifulsoup을 사용해 구글에서 이미지 URL을 갖고오는 실습을 진행하겠습니다.
'크롤러(Crawler)' 카테고리의 다른 글
[python] 웹 크롤러(Web crawler) 실습-03_이미지 다운로드 (0) | 2020.05.04 |
---|---|
[python] 웹 크롤러(Web crawler) 실습-02_도서 목록 가져오기 (0) | 2020.05.04 |
[python] 웹 크롤러(Web crawler) 실습-01_HTML 구조 확인 (0) | 2020.05.04 |