데이터 스크레이핑

데이터 스크레이핑(data scraping)은 컴퓨터 프로그램이 다른 프로그램으로부터 들어오는 인간이 읽을 수 있는 출력으로부터 데이터를 추출하는 기법이다.

개요

일반적으로 프로그램들 간의 데이터 전송은 사람이 아닌 컴퓨터에 의한 자동화된 처리에 적합한 자료 구조를 사용하여 수행된다. 이러한 교환식 포맷프로토콜들은 보통 완고하게 구조화되어 있고 잘 문서화되어 있으며 쉽게 구문 분석이 가능하고 모호성을 최소한으로 유지시킨다. 아주 가끔은 인간이 읽기 쉽지 않은 형태로 구성되어 있는 경우가 있다.

그러므로 데이터 스크레이핑을 정규적인 구문 분석과 구별하는 주요 요소는 "스크레이핑"이 되는 출력물이 최종 사용자에게 표시할 것을 염두에 둔다는 점이다. (다른 프로그램에게 입력을 전달하는 것이 아니라) 그러므로 편리한 구문 분석을 위해 문서화/구조화가 되어 있지 않을 수 있다. 데이터 스크레이핑은 바이너리 데이터(일반적으로 이미지나 멀티미디어 데이터), 디스플레이 서식 지정, 과잉 레이블, 과도한 주석, 자동화된 처리를 저해하는 기타 정보를 수반하기도 한다.

기술의 종류

스크린 스크레이핑

화면의 일부분과 스크린 스크레이핑 인터페이스(빨간 화살표가 있는 파란 상자). 데이터 캡처 과정을 사용자가 지정하고 있다.

더 많은 메인프레임 애플리케이션들이 인터페이스를 채용하면서 물리적인 단말기 IBM 3270을 사용하는 일이 천천히 감소되고 있으나 일부 웹 애플리케이션들은 간단히 스크린 스크레이핑(screen scraping) 기법을 사용하여 오래된 화면을 캡처하여 현대의 프론트엔드에 데이터를 전송시키는 일을 계속하였다.[1]

스크린 스크레이핑은 보통 웹 스크레이핑처럼 데이터를 파싱하는 대신 소스로부터 시각 데이터를 프로그래밍적으로 모으는 일과 관련된다. 원래 "스크린 스크레이핑"은 컴퓨터 디스플레이 단말기화면으로부터 텍스트 데이터를 읽는 기법을 의미했다. 이는 일반적으로 터미널의 메모리를 읽어들임으로써 수행되었으며 이는 보조 포트를 사용해서, 또는 컴퓨터 시스템의 터미널 출력 포트를 다른 컴퓨터의 입력 포트에 연결시킴으로써 가능했다. 스크린 스크레이핑이라는 용어는 또한 데이터의 양방향 교환을 의미하기 위해서도 사용된다. 단순한 케이스의 경우 제어 프로그램이 사용자 인터페이스를 둘러보는 일이 있고, 더 복잡한 시나리오의 경우 인간이 사용하도록 의도된 인터페이스에 제어 프로그램이 데이터를 입력하는 일을 들 수 있다.

웹 스크레이핑

같이 보기

각주

  1. "Back in the 1990s.. 2002 ... 2016 ... still, according to en:Chase Bank, a major issue. Ron Lieber (2016년 5월 7일). “Jamie Dimon Wants to Protect You From Innovative Start-Ups”. 《뉴욕 타임스》. 

참고 문헌

  • Hemenway, Kevin and Calishain, Tara. Spidering Hacks. Cambridge, Massachusetts: O'Reilly, 2003. ISBN 0-596-00577-6.