ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Web Crowling & Web Scraping
    웹 프로그래밍/BE(Back-End) 2021. 6. 28. 17:24

    오늘 배운 것 중에 흥미로운 내용이여서 정리해보려고 한다.

    Web Crowling과 Web Scraping이라는 말이 있는데 둘을 혼용해서 쓰는 경우가 있거나 그냥 Web Crowling이라는 말만 있는지 알고 있던 사람들도 있을 것이다.

    나 또한 오늘 공부하기 전까지 Web Crowling만 알고 있었고 내가 했던 웹 페이지에서 자동으로 정보를 긁어와서 저장하는 것이 web crowling인 줄 알고 있었다.

    오늘 이 글을 쓰면서 둘의 차이점을 명확히 알고 다음부터는 유념해서 쓰도록 하려고 한다.

     

    1. Web Crowling이란?

    Web Crowling이란 web indexing의 목적으로 WWW(World Wide Web)를 시스템적으로 검색을 하는 자동 기능 작업을 말한다.

    web indexing이란 웹 사이트의 콘텐츠들을 인덱싱(일종의 분류작업)하는 방법을 의미한다.

     

    이렇게 의미를 딱딱하게 정의하면 쉽게 이해가 안 될 것이다.

    예를 들어 설명해보면 전공책이나 기타 책들을 보면 책 뒷부분에 부록에 index라는 것을 본 적이 있을 것이다.

    책 안에 쓰인 단어들을 보아서 그 단어가 어느 페이지에 나왔는지 표시를 해준 부분이다.

    우리는 이것을 잘 사용은 안할 수 있겠지만, 어떠한 단어를 찾을 때 책의 모든 페이지를 처음부터 끝까지 읽을 필요없이 index를 보면 쉽게 찾을 수 있는 좋은 기능을 제공한다.

     

    Web Crowling의 동작을 이와 연관지어서 이해하면 어느정도 알 수 있다.

    우리는 검색엔진에 원하는 검색어를 입력하면 우리에게 알맞은 정보를 주고자 수 많은 웹 페이지를 전부 다 보면서 비교해서 주기에는 너무 비효율적이다.

    그래서 web crowling을 통해 편리하게 검색결과를 보여줄 수 있는 것이다.

     

    Web Crowling에 대해 소개한 영상인데 짧고 명확한 설명이여서 도움이 될 것이다.

    https://www.youtube.com/watch?v=jkuRWcH1-kk 

     

     

    2. Web Scraping이란?

    Web Scraping(웹 스크래핑)이 무엇인지 알아보자.

    Web Scraping은 특정한 웹 사이트에서 데이터를 추출하여 모으는 작업을 말한다.

    즉, 우리가 흔히 알고 있는 라이브러리를 활용하여 웹 사이트에 접근해서 원하는 부분의 데이터를 자동으로 가져오게 하는 일이 web scaping이라는 것이다.

     

    Web Scraping에는 웹 페이지에서 데이터를 추출하기 전에 웹 페이지를 fetching하는 작업이 포함된다.

    fetching이란 웹 페이지를 다운로드 받는다, 가져온다라고 생각하면 된다.

    여기서 중요한 점은 web scraping의 fetching 작업을 위한 가장 주된 요소는 web crawling이라는 것이다.

    즉, web scaping과 web crawling을 명확히 따지면 다른 말이지만 web scraping의 작업을 위해서는 web cralwling이 필요하다는 것이다.

     

    Web scraping을 활용한 예시로는 쇼핑 사이트에서 물품의 가격정보를 얻거나 물품에 대한 리뷰 정보를 모으거나 쇼핑 이외에도 부동산, 주식, 뉴스 등 다양한 분야에서 웹 페이지에 보여지는 데이터를 모을 수 있다.

     

     

    Web Scraping의 동작 원리는 다음과 같다.

    1. 요청보내기와 응답 받기

    첫 번째로 우리가 원하는 데이터가 존재하는 웹 페이지의 URL로 요청을 보내는 것이다.

    요청을 보내게 되면 응답으로 HTML format을 받을 수 있게 된다.

    2. parsing과 데이터 추출 

    받아온 HTML format을 파싱하여 우리가 원하는 데이터를 추출한다.

    3. 데이터 저장

    마지막으로 추출한 데이터를 저장한다. 데이터베이스나 spreadsheet(CSV, JSON...)형태로 저장을 할 수 있다.

     

     

    출처: http://prowebscraping.com/web-scraping-vs-web-crawling/

    '웹 프로그래밍 > BE(Back-End)' 카테고리의 다른 글

    SQL & NoSQL  (0) 2021.07.02
    AWS EC2 이용해보기  (0) 2021.06.30
    Database 사용자 생성과 권한 주기  (0) 2021.06.10
    EL(Expression Language)과 JSTL(JSP Standard Tag Library)  (0) 2021.06.04
    JSP와 SCOPE 접해보기  (0) 2021.06.03

    댓글

Designed by Tistory.