스크래핑
스크래핑(Scraping)은 웹사이트(Web-Site)의 특정 페이지에서 정보를 자동으로 추출하는 기술이다. 이는 스크레이핑라고도 한다. 또 다른 스크래핑의 개념은 건축용어로 바닥이나 벽의 콘크리트면에 부착되어 있는 콘크리트나 모르타르의 찌꺼기를 제거하는 것이며 해체후의 거푸집면을 청소하는 것을 말한다.[1][2]
목차
개요
스크래핑은 HTML(Hyper Text Markup Language)로 구성된 웹사이트의 특정 페이지에서 자동으로 정보를 추출할 수 있는 봇(bot)인 스크래퍼(Scrapper)를 이용하여 지속적으로 원하는 정보를 갱신·관리하기 위한 기술이다. 현재 핀테크(Fin-Tech), 마이데이터(My-Data)와 같은 서비스가 활성화되면서 금융, 의료 등 다양한 산업 분야에서 활용되고 있다. 하지만 기업에서 비용을 들여 구축한 웹사이트의 고유한 콘텐츠를 무단으로 추출하여 재사용할 수 있다는 점에 대해서는 대책이 필요하다.[1]
스크래핑은 컴퓨터 프로그램이 웹 페이지나 프로그램 화면에서 데이터를 자동으로 추출하는 것이다. 일반적으로 컴퓨터 프로그램 간의 데이터 교환은 상호 합의된 프로토콜이나 데이터 구조를 통해서 수행된다. 이에 비해 스크래핑은 웹사이트 페이지나 프로그램 화면과 같이 주로 사람이 읽도록 만들어진 콘텐츠에서 다른 프로그램이 자동으로 데이터를 추출하는 방법이다. 추출하는 데이터의 종류와 범위는 한계가 없다. 쇼핑 사이트의 경우 가격 정보, 리뷰, 고객 연락처, 상품 이미지, 상품 동영상 등의 다양한 정보를 수집할 수 있다. 스크래핑은 데이터 스크래핑이라고도 하며, 스크린 스크래핑과 웹 스크래핑으로 구분된다. 스크린 스크래핑은 다른 프로그램의 화면 출력을 영상처리 기법 등으로 읽어내서 데이터를 추출하는 것이고, 웹 스크래핑은 웹 페이지에서 데이터를 추출하는 것을 말한다. 웹이 활성화된 1990년대 이후 대부분의 정보들이 웹에 게시되면서 웹 스크래핑을 스크래핑과 동의어로 사용하기도 한다.
웹 스크래핑에서는 컴퓨터 프로그램이 웹 브라우저 역할을 대신하여 대상 웹사이트에 접속하여 페이지 내용을 가져온 후에 개발자가 사전에 지정한 데이터를 추출한다. 웹 스크래핑에는 웹사이트의 동의 하에 검색 엔진이 자동으로 여러 웹사이트를 브라우징(browsing)하는 크롤러를 이용하여 정보를 수집하는 크롤링(crawling)이 포함된다. 크롤링의 경우에는 웹 페이지 소유자가 스크래핑이 가능한 콘텐츠를 robots.txt 파일에 지정하면, 허락된 콘텐츠만을 가지고 온다. 반면 웹 스크래핑은 robots.txt 파일에 지정된 파일 외에 무단으로 웹사이트의 데이터를 추출할 수 있다. 그러나 이렇게 오용되는 경우에는 대상 웹사이트의 저작권을 침해할 소지가 있고 추출한 데이터를 이용한 부당한 수익 창출 등에 사용될 수 있어 법적인 문제를 일으킬 수 있다. 또한 허가되지 않은 범위의 웹 스크래핑은 대상 웹사이트에 과부하가 걸릴 수 있다. 이를 차단하기 위한 보안기술로 실행 횟수 및 데이터 제한, 행동 패턴 탐지 등이 있다. 참고로 scraping의 외래어 표기법은 스크레이핑이다.[3]
특징
스크래핑은 필요한 데이터를 추출해 가공하거나 제공하는 기술로 금융사, 공공기관, 정부 웹사이트 등 여러 곳에 흩어져 있는 고객의 정보를 한데 모아 관리할 수 있다. 고객이 자신의 인증정보를 한 번만 제공해도 금융기관, 공공기관, 정부 웹사이트 등의 데이터 시스템에 접속해 여러 곳에 흩어져 있는 고객의 정보를 모아 가공하거나 제공하는 기술을 말한다. 스크랩(scrap)은 긁어낸다는 의미로, 웹사이트나 데이터베이스 등에서 사용자가 원하는 정보를 긁어모아 제공한다고 해서 스크래핑(스크레이핑)이라고 부른다. 스크래핑 기술은 여러 금융사에 흩어져 있는 고객의 금융정보를 모아서 개인자산이나 기업자금 등을 관리하는 데 활용해 오다 금융기관을 넘어 전 분야에 걸쳐 활발하게 활용되고 있다. 특히 이 기술은 인증서 비밀번호를 하나씩 입력하지 않아도 통합해 자산 관리를 해주는 핀테크 서비스의 핵심 기술로 활용된다.
데이터 스크래핑이 활성화되면 금융권, 공공기관 등에 방문해 각종 서류를 제출하는 절차를 거치지 않아도 되고 특정 어플리케이션을 통해 각종 은행 계좌에 있는 예금과 적금, 펀드, 대출 등을 모아서 확인하거나 보험사, 우체국, 새마을금고 등에 가입된 보험 내역, 보험료 등도 한꺼번에 열람할 수 있다. 반면, 스크래핑 업체들이 개인 인증정보를 대량 보유하고 있다가 해킹으로 인한 피해가 발생할 수 있어 철저한 보안이 필요하다. 이에 정부는 마이데이터 사업자가 고객 인증정보를 직접 사용·보관해 스크래핑 기술로 수집하는 행위는 금지하되, 고객 인증정보를 사용하지 않는 데이터 수집, 개인신용정보가 아닌 데이터 수집, 기업 정보 수집 등에서는 스크래핑 기술을 허용한다는 방침이었다. 그러나 개인정보 측면에서 더욱 안전한 기술을 적용하기 위해 스크래핑을 점차 중단하고 단계적으로 API (애플리케이션프로그램인터페이스) 방식을 도입할 방침이다. 이에 따라 금융위원회는 마이데이터 사업자 및 정보제공자는 2021년 11월까지 API 구축 및 테스트를 완료하고 12월부터 API를 통한 대고객 서비스를 개시해야 하며, 2022년 1월부터는 모든 고객에 대해 API 방식으로만 서비스하도록 하는 내용의 마이데이터 운영 지침을 마련했다.[4]
스크래핑의 분류
스크래퍼의 구성에 따라 서버 기반(Server Base) 스크래핑과 클라이언트 기반(Client Base) 스크래핑으로 나눌 수 있다. 서버 기반 스크래핑은 스크래퍼를 서버 위치에 구성하는 방식으로, 사전에 동의를 받은 뒤 수집한 인증정보를 바탕으로 정보를 추출하여 제공한다. 클라이언트 기반 스크래핑은 사용자의 단말기에 스크래퍼를 구성하여 추출하는 모든 정보가 사용자의 단말기에 저장되도록 하는 방식이다.[1]
스크래핑의 동작 유형 및 원리
동작 유형
- DOM Base: 'DIV'나 'TABLE, TR, TD'와 같은 태그(Tag)를 기준으로 정보를 추출한다.
- TEXT Base: 이름, 전화번호와 같은 특정 텍스트를 검색 후 원하는 정보를 추출한다.
동작 원리
- HTTP GET( ): 자동으로 정보를 추출할 봇을 이용해 웹사이트의 특정 페이지에 접속한다.
- Pattern Search( ): HTML로 구성된 문서에서 데이터가 포함된 특정 패턴을 검색한다.
- Extract( ): 찾고자 했던 정보를 추출한다.[1]
스크래핑의 문제점
자동으로 인증을 수행하기 위해 사용자의 암호를 저장해두고 사용할 때 양방향 암호화를 적용해야 하는 경우, 단방향 암호화를 통한 관리에 비해 상대적으로 정보보안에 취약하다. 또한 제공한 인증정보를 이용하여 과다하게 정보를 수집하는 경우, 개인정보 침해 소지가 있을 수 있다. 서비스 가용성 측면에서는 DOM이나 TEXT가 조금만 변경되더라도 정보를 자동으로 추출할 수 없고 다시 페이지를 분석하여 규칙을 발견·적용해야 하므로 봇을 복구하는 데 많은 시간이 소요된다. 한편 HTML과 같은 구조화된 정보가 아닐 경우에는 정보의 추출이 불가하다는 한계점도 있다.[1]
스크래핑 방지 방안
봇은 사람보다 훨씬 많은 양의 정보를 빠르게 처리할 수 있다는 점에 착안하여, 봇을 이용한 접속인지 사람이 접속한 것인지를 분류하여 이에 따라 서비스 제공에 제한을 둘 수 있다. HTML 태그를 복잡하게 구성하거나 주기적으로 수정하는 방법으로는 정기적으로 추출해가는 스크래핑을 방지할 수 있으며, 또한 봇 여부를 확인하는 캡챠(CAPTCHA) 프로그램을 활용하여 대비하는 방법도 있다.[1]
스크래핑 관련
웹 스크래핑
웹 스크래핑(Web Scraping)은 특정 웹사이트나 페이지에서 필요한 데이터를 자동으로 추출해 내는 것을 의미한다. 웹 스크래핑은 다음과 같이 작동하며 원하는 정보를 추출하기 위해 '스크래퍼 봇'이 특정 웹사이트에 콘텐츠를 다운로드하기 위한 HTTP GET 요청을 보낸다. 사이트가 이에 응답하면 스크래퍼는 HTML 문서를 분석하여 특정 패턴을 지닌 데이터를 뽑아낸다. 그리고 추출된 데이터를 원하는 대로 사용할 수 있도록 데이터베이스에 저장한다. 웹 스크래핑은 자동으로 수집된 특정 정보가 필요한 분야에서 다양하게 활용되고 있다. 금융 및 주식 시장의 경우, 스크래핑 기술을 활용하여 뉴스 정보를 모으기도 하고, 애널리스트들이 투자 자문을 위해 활용할 수 있는 기업 재무제표 정보를 자동으로 수집하기도 한다. 전자상거래 시장의 경우 경쟁력 확보를 위해 경쟁사 상품의 정보를 수집하고 가격 변동 이슈를 빠르게 파악하기 위해 스크래핑 기술을 활용하기도 한다.
웹 크롤링과 웹 스크래핑의 차이점
크롤링(Crawling)과 스크래핑은 '원하는 데이터를 모을 수 있다'는 점이 비슷하여 의미가 자주 혼용되고 있다. 또한 기술적으로 함께 사용되는 경우가 많아 더욱 헷갈린다. 하지만 웹 크롤링(Web Crawling)은 웹 페이지의 링크를 타고 계속해서 탐색을 이어나가지만, 웹 스크래핑은 데이터 추출을 원하는 대상이 명확하여 특정 웹사이트만을 추적한다는 차이점이 있다. 또한, 웹 크롤링은 페이지를 모아 색인화(분류)하고 검색 결과에 내가 찾는 키워드와 연관된 링크들만 모아 볼 수 있도록 작동한다. 하지만 웹 스크래핑은 상품의 가격, 주식 정보, 뉴스 등 원하는 데이터가 명확하며, 흩어져 있는 해당 데이터를 자동으로 추출하여 전달한다. 이 외에 차이점은 아래 표와 같다.
비슷한듯 다른 웹 크롤링과 웹 스크래핑은 기획과 개발에 있어서 어느 한 가지만을 선택하여 사용할 수는 없다. 웹 크롤링의 경우 모든 데이터를 모으기 때문에 정보의 확장성이 넓다는 장점이 있고, 서버의 자리를 많이 차지하여 리소스가 많이 들어간다는 단점이 있다. 또한, 웹 스크래핑은 반대로, 적은 리소스를 들여 정확한 정보를 가져올 수 있지만, 그만큼 데이터의 한계가 있다. 따라서 서비스 이용자가 어떤 것을 원하는지에 따라, 두 가지를 적절히 선택하여 적용해야 한다. 또한 데이터를 끌어오는 작업이기 때문에 저작권 문제 등 법적 분쟁 요소도 면밀히 따져보아야 한다.[5]
관련 기사
- 저축은행업계가 최근 대대적인 전산 인프라 개선에 나섰다. 자체 보안 수준을 강화하기 위한 조치는 물론 시중은행·인터넷전문은행과의 디지털 경쟁에서도 상대적으로 뒤처지지 않기 위해 대응을 준비하는 것이다. 업계에 따르면 저축은행중앙회를 중심으로 개별 저축은행 등이 자체 전산망 개선 작업에 착수했다. 우선 저축은행중앙회는 현재 급증하는 스크래핑을 방지하기 위한 인프라를 구축했다. 예·적금 가입자가 크게 늘고 있는 데다가 핀테크의 스크래핑으로 서버가 지연되는 등 트래픽이 급증한 데 따른 조치다. 중앙회가 구축한 시스템은 스크래핑 자체를 완전히 차단하지는 않지만, 트래픽이 한 번에 몰리면 이를 감지해 서버 지연이나 다운을 막는 능동형 구조가 특징이다. 중앙회 관계자는 "최근 스크래핑이 급증함에 따라 이에 대응할 시스템을 구축했다"면서 "우리가 가진 정보를 외부에서 활용할 수 있으면서도, 일시적으로 트래픽이 몰릴 경우에는 스크래핑을 차단할 수 있어 안정적인 전산망 관리가 가능해졌다"고 말했다. 플랫폼 고도화도 추진한다. 현재 중앙회는 중앙회 전산망을 사용하는 저축은행의 비대면 서비스 강화를 위해 '웹뱅킹 및 미니뱅킹' 구축도 준비 중이다. 이번 사업은 저축은행 뱅킹플랫폼 서비스의 금융환경 변화에 대응하는 한편 비대면서비스 강화에 따른 법령 등 규정 준수, 고객 중심의 금융혁신을 위한 신규서비스 및 뱅킹서비스 영역 확대를 위한 것으로 고객이 모든 저축은행을 쉽게 이용할 수 있는 활성화 서비스 구현이 목적이다. 중앙회는 이르면 2022년 11월 21일부터 구축에 들어가 2023년 9월 중 서비스를 시작할 계획이다. 또한, 개별 저축은행에서도 전산망 개선에 분주하다.[6]
- ㈜하이픈코퍼레이션(대표 정순권, 이하 하이픈)이 인포텍코퍼레이션㈜(대표 김성곤, 이하 인포텍)과 제휴를 체결했다고 2022년 11월 17일 밝혔다. 이번 제휴의 핵심은 하이픈 데이터마켓에서 인포텍의 '세무신고서비스 스크래핑 패키지 솔루션'을 공급하는 것이다. 인포텍의 세무신고서비스 스크래핑 패키지 솔루션은 매입세금계산서, 매출세금계산서, 현금영수증 발행내역 등을 조회해 소상공인의 매출·입 데이터를 한 번에 가져온다. 이를 통해 세금신고 결과조회는 물론 원천세, 부가세 등 전자신고를 진행할 수 있다. 인포텍의 세무신고서비스 스크래핑 패키지 솔루션을 활용하면 세무관련 업무의 효율을 제고할 수 있다. 세무사가 의뢰인의 요청에 따라 세금 환급 절차를 진행하려면 종합소득세를 비롯한 각종 정보가 필요하기에, 필요한 서류를 직접 구해야 한다. 하지만 하이픈 데이터마켓에서 인포텍 세무신고서비스 스크래핑 패키지 솔루션을 사용하면 필요한 정보를 한 번에 불러올 수 있다. 핀테크 및 개발사가 ERP 프로그램이나 세무관련 서비스를 개발하는 과정도 손쉬워진다. 이들 기업은 하이픈 데이터마켓에서 인포텍 세무신고서비스 스크래핑 패키지 솔루션을 활용해 자사 서비스를 솔루션을 턴키로 구축할 수 있다. 인포텍의 세무신고서비스 스크래핑 패키지를 활용해 서비스를 구축한 기업 사례도 있다. A사는 소상공인들에게 부가가치세 신고 후 과수납된 세금에 대해 경정청구를 대리하는 사업을 영위하고 있다. B사는 프리랜서의 과오납금액을 찾아내 세금환급 절차를 대행하는 서비스를 제공 중이다. 특히 B사의 경우 서비스 출시 2년만에 세금 환금액 5,000억 원을 돌파하기도 했다. 하이픈 정순권 대표는 "모든 사업자가 세금을 납부하는 만큼, 세무 업무를 편리하게 처리할 수 있는 서비스는 반드시 필요하다"라면서 "편리한 세무 업무를 위한 서비스를 개발 중인 기업이, 하이픈 데이터마켓에서 신청 가능한 인포텍의 세무신고 솔루션을 통해 서비스 개발에 도움이 되기를 바란다"고 전했다. 한편, 스크래핑 솔루션을 10년간 안정적으로 운영 중인 인포텍은 스크래핑에 필요한 코어 기능을 구축하는 솔루션을 공급하고 있다. 동사는 스크래핑 분야의 이해도가 낮거나 개발여력이 부족한 기업을 대상으로 인포텍의 숙련 개발자를 투입해 서비스를 분석하고 가이드도 지원한다.[7]
동영상
각주
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 〈스크래핑〉, 《두산백과》
- ↑ 〈스크래핑〉, 《대한건축학회 건축용어사전》
- ↑ 〈스크래핑〉, 《IT용어사전》
- ↑ 〈스크래핑(스크레이핑)〉, 《시사상식사전》
- ↑ JUNGYEON, 〈비개발자가 쉽게 설명하는 웹 크롤링(Crawling)과 웹 스크래핑(Scraping)의 차이점〉, 《코드에프 블로그》, 2022-05-04
- ↑ 박윤호 기자, 〈"낡은 전산 뜯어 고친다"…저축은행업계, 인프라 개선 분주〉, 《전자신문》, 2022-11-06
- ↑ 박희윤 기자, 〈하이픈, 데이터마켓에서 인포텍 세무신고서비스 스크래핑 패키지 솔루션 공급〉, 《시사매거진》, 2022-10-17
참고자료
- 〈스크래핑〉, 《두산백과》
- 〈스크래핑〉, 《대한건축학회 건축용어사전》
- 〈스크래핑〉, 《IT용어사전》
- 〈스크래핑(스크레이핑)〉, 《시사상식사전》
- JUNGYEON, 〈비개발자가 쉽게 설명하는 웹 크롤링(Crawling)과 웹 스크래핑(Scraping)의 차이점〉, 《코드에프 블로그》, 2022-05-04
- 박윤호 기자, 〈"낡은 전산 뜯어 고친다"…저축은행업계, 인프라 개선 분주〉, 《전자신문》, 2022-11-06
- 박희윤 기자, 〈하이픈, 데이터마켓에서 인포텍 세무신고서비스 스크래핑 패키지 솔루션 공급〉, 《시사매거진》, 2022-10-17
같이 보기