웹프로그램개발

웹스크래핑

+웹스크래핑이란?

스크린 스크래핑 [screen scraping]과 동의어 이며 웹 사이트(website)에 존재하는 데이터 중에서 필요한 데이터만을 추출하도록 만들어진 프로그램.
각 웹 사이트에서 데이터를 수집해 오는 기술, 일정 포맷으로 변환하는 기술, 스크레이핑 구동 기술이 핵심이다.
구조 형태에 따라 서버 의존형, 클라이언트 의존형, 혼합형으로 구분합니다.
이용 분야로는 각 금융 기관에 흩어져 있는 금융 자산을 통합하여 한 번에 조회, 이체 등의 거래를 하고 관리하는 계좌 통합 관리, 여러 웹 메일을 사용하는 경우 한 번에 종합하여 확인할 수 있는 전자 우편(이메일) 통합 조회가 있습니다.
호텔·항공사·렌터카·주유소 마일리지 등 각종 보상 프로그램에 활용하고, 전자 상거래에서 경매 진행 상황 추적, 물류 서비스 배송 정보 추적, 뉴스, 날씨 등의 분야에도 이용할 수 있습니다.

+웹스크래핑과 크롤링의 차이는 무엇인가요?

웹크롤링은 인터넷에서 웹페이지를 자동 탐색하고 수직하는 과정을 말합니다. 크롤러라고 부르는 프로그램이 여러 웹사이트를 방문하여 페이지 내용과 링크를 추출하고, 인덱싱하여 검색엔진의 테이타베이스를 구축합니다. 대표적인 크롤러로는 네이버의 Yeti, Googlebot 등이 있습니다.
반면 웹스크래핑(Web Scraping)은 웹페이지의 특정 정보를 추출하는 과정을 말합니다. html파일을 읽어서 필요한 데이터만 파싱(Parsing)하고 원하는 데이터 형식으로 저장합니다. 웹페이지에서 특정 정보만을 수집하거나 추출해 다른 목적으로 사용할 수 있게 합니다.
대표적인 라이브러리로는 파이썬의 경우 Beautiful Soup, Selenium, Scrapy가 있으며, 자바스크립트는 Puppeteer, Cheerio 등이 있습니다.
하지만 웹스크래핑과 크롤링을 혼용해서 사용하기도 합니다.

+ 크롤링과 스크래핑의 문제점

-해당 사이트와 협력하지 않는 상태라면 무단으로 데이타를 수집하는 문제가 있습니다.
-해당 사이트에서 언제든지 크롤러와 스크래퍼가 접근을 못하게 막을 수 있습니다.
-사이트의 구조가 변경되는 경우 크롤러와 스크래퍼가 작동하지 않습니다.
-너무 잦은 테이터를 수집하는 경우, 해당 사이트에서 개별적으로 IP를 차단할 수 있습니다.

+ 웹스크래핑 작업의 특징?

크롬과 같은 웹브라우저를 사용하지 않고 crawling을 하기 때문에 정확하고 빠르며 효율적입니다.(필요할 경우 웹브라우저를 이용한 웹스트래핑도 가능합니다)

+ 웹스크래핑 작업 후 결과물은 어떤 형태로 제공되나요?

작업 후 결과물 -엑셀, CSV 와 같은 스프레이시트 파일 -텍스트 파일 *소스 코드도 제공해드릴 수 있습니다.

+ 웹스크래핑 작업은 어떤 분들에게 추천드릴 수 있나요?

-필요한 데이타를 excel로 변화하고 싶어요.
-이런 것도 프로그램으로 만들 수 있나요?
-웹사이트에 있는 데이타를 활용하고 싶어요.
-인터넷 쇼핑몰에 올라온 상품을 끍어와 내 쇼핑몰에도 올리고 싶어요.
-다른 사이트 게시판 글을 주기적으로 긁어와 내 게시판에 등록하고 싶어요.