Scraping과 Crawling

cabbage·2023년 1월 18일
0

기타

목록 보기
21/26

Scraping

  • 웹 스크랩핑은 웹사이트에서 데이터를 추출해서 특정 데이터 포맷으로 저장하기 위해 사용하는 기술이다.
  • 웹 스크래퍼라는 도구를 사용해 웹 스크랩핑을 수행한다.
  • 웹 스크래퍼는 웹사이트에서 데이터를 추출하는 역할을 한다.
  • 웹 스크래퍼는 특정 사이트에서 모든 데이터를 추출하거나 특정 데이터만 추출할 수 있다.
  • 웹사이트의 데이터 대부분은 HTML 형식의 구조화되지 않은 데이터이다. 이런 데이터를 다양한 애플리케이션에서 사용할 수 있도록 스프레드시트 또는 데이터베이스에 구조화된 데이터로 변환하여 저장한다.

Scraper의 동작 방식

  • 웹 스크래퍼는 웹사이트의 모든 HTML 코드를 가져온다.
  • 웹 스크래퍼는 HTML 코드에서 필요한 데이터만 가져와 사용자에게 특정 데이터 포맷으로 데이터를 출력해준다.
  • 데이터 포맷은 대부분 스프레드시트 또는 CSV 파일이고, JSON 파일 형식으로도 출력할 수 있다.

Crawling

  • 웹 크롤링은 검색 엔진 인덱스 항목을 작성하기 위해 웹사이트를 방문해 웹페이지를 읽는 것을 말한다.
  • 크롤러 또는 스파이더라는 툴을 사용해 웹 크롤링을 수행한다.
  • 크롤러는 웹을 탐색하는 인공 지능 알고리즘이다.
  • 크롤러는 웹사이트들을 분석하고 웹사이트에 있는 페이지 링크를 계속 따라가서 정보 추출을 위한 심층 탐색을 진행한다.
  • 구글, 야후, Bing 같은 유명 검색 엔진은 웹 크롤링을 진행하여 얻은 정보를 기반으로 웹페이지를 인덱싱한다.

crawler의 동작 방식

  • seed 또는 URL 리스트부터 작업을 시작하여 웹페이지들을 살펴보고 카테고리화한다.
  • 각 페이지를 살펴보기 전에 웹 크롤러는 웹페이지의 robots.txt 파일을 확인하는데, 이 파일은 웹사이트에 접근하는 bot들의 규칙을 명시하고 있다.
  • 이 규칙은 크롤링할 수 있는 페이지나 타고 들어갈 수 있는 링크들을 정의하고 있다.
  • 다음 웹페이지로 이동하기 위해, 크롤러는 하이퍼링크를 찾아서 하이퍼링크를 타고 들어간다.
  • 크롤러가 타고 들어갈 수 있는 하이퍼링크는 정의된 규칙에 달려 있다.
  • 웹페이지에 머무르는 동안, 크롤러는 meta tags라고 하는 사본과 설명 데이터를 저장한 다음, 검색 엔진이 키워드를 스캔할 수 있도록 인덱싱한다.
  • 이 프로세스는 페이지가 쿼리에 대한 검색 결과에 표시되는지 여부를 결정한다.
  • 웹사이트 소유자가 검색 엔진이 사이트를 크롤링할 수 있는 site map을 제출하지 않은 경우에도, 웹 크롤러는 이 사이트와 연결되어 있는, 인덱싱된 사이트부터 링크를 타고 들어가 해당 웹사이트를 찾을 수 있다.

정리

웹 스크래핑과 웹 크롤링의 비교

웹 스크래핑

  • 웹사이트에서 특정 데이터를 추출하여 특정 데이터 포맷으로 저장하는 것을 말한다.
  • 웹 스크래핑을 수행하는 도구는 웹 스크래퍼다.
  • 웹 스크래퍼는 HTML 코드에서 필요한 데이터만 파싱하여 특정 데이터 포맷으로 출력하는 역할을 한다.

웹 크롤링

  • 웹페이지를 인덱싱하기 위해 사용한다.
  • 웹 크롤링을 수행하는 도구는 웹 크롤러 또는 스파이더다.
  • 유저에게 검색 결과를 보여 주기 위해 검색 엔진에서 주로 사용된다.

참고

profile
캐비지 개발 블로그입니다. :)

0개의 댓글