Scraping 이란
in etc on Etc
크롤링(crawling)
- 크롤링이란 웹을 탐색하는 컴퓨터 프로그램(크롤러)을 이용하여 여러 인터넷 사이트의 웹 페이지 자료를 수집해서 분류하는 과정을 말한다.
- 크롤러(crawler)란 자동화된 방법으로 월드와이드 웹을 탐색하는 컴퓨터 프로그램
스크래핑(scraping)
- 스크래핑이란 웹 사이트의 내용을 긁어다 원하는 형태로 가공하는 기술을 의미한다. 즉 웹 사이트의 데이터를 수집하는 모든 작업을 의미한다. 결국 크롤링도 스크래핑 기술의 일종이라고 할 수 있다.
- HTTP를 통해 웹 사이트의 내용을 추출하여 원하는 형태로 가공하는 것이다. 쉽게 말해 웹 사이트의 데이터를 수집하는 모든 작업을 뜻한다.
파싱(parsing)
- 파싱이란 어떤 페이지(문서, html 등)에서 내가 원하는 데이터를 특정 패턴이나 순서로 추출하여 정보를 가공하는 것을 말한다.
- 예를 들면 html 소스를 문자열로 수집한 후 실제 html 태그로 인식할 수 있도록 문자열을 의미있는 단위로 분해하고, 계층적인 트리 구조를 만드는 과정을 말한다.
스크래핑의 장점
1 . 자동화
- 여러 웹 사이트에서 단 몇 번의 클릭으로 데이터 검색을 단순화하는 도구를 개발하는 것. 이 접근 방식 이전에도 데이터를 추출할 수 있었지만 지루하고 시간이 많이 소요되는 프로세스였으나 스크래핑 도구를 사용해 대용량 데이터를 간단하고 빠르게 추출 가능하다.
2 . 비용 효율성
- 시장에서 제공되는 다양한 서비스는 이를 비용 효율적이고 예산 친화적인 방식으로 관리 가능. 비용을 최적화하기 위해 가장 많이 선택되는 웹 스크래핑 도구 중 하나는 웹 스크래핑 API
3 . 투자 대비 데이터 확보
- 적은 투자로 많은 양의 데이터를 보유하여 해당 데이터를 최대한 활용할 수 있다.
4 . 속도 및 정확도
- 웹 스크래핑 서비스는 수동으로 작업을 수행할 때와 비교하여 속도 뿐만 아니라 정확도가 높다.
5 . 효과적인 데이터 관리
- 다양한 웹 사이트에서 수집할 데이터를 선택하고 선택한 다음 올바른 도구를 사용하여 적절하게 수집
스크래핑의 단점
1 . 웹사이트 변경 및 보호 정책
- 웹사이트의 HTML 구조가 정기적으로 변경되기 때문에 크롤러가 때때로 손상.
- 웹 스크래핑 소프트웨어를 사용하든 자체 웹 스크래핑 코드를 작성하든 관계없이 데이터 수집 파이프라인이 잘 작동하는지 확인하기 위해 정기적으로 일부 유지 관리를 수행
2 . 학습 곡선
- 스크래핑은 데이터를 추출하는 한 가지 방법이 아님.
- 시각적 웹 스크래핑 도구, API 또는 프레임워크를 사용하든 관계없이 결과적으로 모든 과정들을 스스로 학습이 필요
스크래핑 활용 예시
마이데이터 관련 API, 그 중 대출비교 서비스를 위한 API를 핀테크 기업들에 제공(핀다)
- 소셜 미디어(SNS) 게시물 스크랩
- 업계에서 어떤 인플루언서에 대해 트윗하고 있는지, 가장 성공적인 트윗이 무엇인지, 해당 트윗의 내용이 무엇인지, 또한 커뮤니티에서 좋아요, 댓글이 많이 달린 글을 분석하여 어떤 주제가 인기가 많은지 파악 가능.
- 최저가 가격 사이트(다나와, 네이버쇼핑)
- 같은 제품이라도 다양한 쇼핑몰에서 어느 곳이 가장 싼지, 또한 후기들도 스크래핑 해와서 소비자 니즈 파악 가능.