데이터분석/데이터 추출

웹크롤링(Crawling)과 웹스크래핑(Scraping) 이란

상선약수64 2024. 2. 15. 14:27
반응형

1. 데이터의 형태 

 

데이터는 정형데이터, 비정형데이터, 반정형 데이터로 구분됩니다. 

 

  • 정형 데이터(Structured Data)는 정해진 구조에 따라 저장된 구조화된 데이터입니다. 행과 열로 지정된 칸에 데이터를 저장한 형태로서 엑셀의 스프레드 시트 또는 관계 데이터베이스의 테이블이 대표적인 예 입니다.

 

이름 성별 나이 거주지 직업 요금 데이터사용량 휴대폰선호 서비스
선호도
홍길동 M 30 부산 학생 20000 4GB LG 5
송중기 M 25 경남 학생 30000 3GB 삼성 4
김시민 F 29 서울 교수 45000 2GB 아이폰 3
황주민 F 40 경북 회사원 60000 10GB 삼성 5

 

 

  • 반정형 데이터(Semi- Structured Data)는 구조에 따라 저장된 데이터지만 정형 데이터와 달리 데이터 내용 안에 구조에 대한 설명이 함께 존재합니다. 반정형 데이터의 예시로 웹에서 데이터를 교환하기 위해 작성하는 HTML, XML, JSON 문서나 웹 로그, 센서 데이터 등이 있습니다.

JSON 문서(속성과 속성값으로 구성)

  • 비정형 데이터(UnStructured Data)는 정해진 구조가 없이 저장된 데이터로서, 소셜 데이터의 텍스트, 이미지, 영상, 워드나 PDF 문서와 같은 멀티미디어 데이터가 대표적인 예 입니다. SNS 이용률이 크게 높아지면서 실시간으로 많은 양의 비정형 데이터가 생산됩니다.

   비정형 데이터 예시

 

 

2. 웹 크롤링와 웹스크래핑

 

  • 웹 크롤링(Web Crawling) : 'URL을 탐색해 반복적으로 링크를 찾고 가져오는 과정'으로 웹페이지를 찾아다니며 정보를 수집하는 것입니다. 웹 크롤러는 URL을 수집하고 웹페이지를 복사하여, 수집한 웹 페이지에 색인을 부여하여 데이터를 수집합니다.

 

  • 웹 스크래핑(Web Scraping) :  '우리가 정한 특정 웹 페이지에서 데이터를 추출하는 것'추출하는 것 입니다. 예를 들어 특정 기업의 주가를 모니터링하는 것은 웹 스크래핑입니다. 우리가 원하는 특정 웹사이트가 있고 그곳에서 필요한 정보만을 가져오는 것입니다. 

 

  • 웹크롤링과 웹스크래핑 차이점 : 웹 크롤링은 웹 페이지의 링크를 타고 계속해서 탐색을 이어나가지만, 웹 스크래핑은 데이터 추출을 원하는 대상이 명확하여 특정 웹 사이트만을 추적한다는 차이점이 있습니다. 웹 크롤링의 경우 모든 데이터를 모으기 때문에 정보의 확장성이 넓다는 장점이 있고, 웹 스크래핑은 적은 리소스를 들여 정확한 정보를 수집할 수 있다는 장점이 있습니다.
크롤링 스크래핑
웹에서 페이지 및 링크 다운로드 웹을 포함한 다양한 소스에서 데이터 추출
동일한 콘텐츠가 여러 페이지에 업로드 된 것을 인식하지 못하므로 중복 제거는 필수적임 특정 데이터를 추출하는 것이므로 중복 제거가 반드시 필요한 것은 아님

[자료 출처] Data Scrapping vs Data Crawing

 

  • 파이썬에서는 웹 크롤링과 스크래핑의 패키지는 selenium과 BeautifulSoup가 있습니다. 데이터 추출에서 해당 패키지에 대한 내용과 실습을 다음 페이지에서 제공합니다.

 

참고 : https://blog.hectodata.co.kr/crawling_vs_scraping/