책 소개
지금까지 데이터를 수집하는 방법을 설명한 책은 파이썬, 루비 등과 같은 프로그램 언어를 이용하여 사용자가 직접 크롤러를 만드는 기술을 설명한 책이 전부다. 그러나 데이터 수집은 IT 개발자가 아닌 마케터도 제품 및 서비스에 대한 고객 반응을 분석하기 위해 필요하고, 컨설턴트가 특정 기업의 매출 추이 및 인터넷에 노출된 정보의 다양한 상관관계를 분석하기 위해서도 필요하다. 하다못해 수시로 기획안 및 제안서를 작성하는 회사원들도 근거 있는 한 줄 내용을 쓰기 위해 다양한 데이터가 필요하다.
이 책은 그러한 마케터와 컨설턴트 등 일반 직장인들에게 데이터를 수집하는 방법을 알려주고자 의도적으로 집필된 책으로, 프로그래밍 없이 데이터를 수집하는 방법과 엑셀, 구글 스프레드시트의 셀 함수 등을 사용하고, 부득이하게 프로그래밍이 필요한 경우에도 엑셀의 VBA와 구글 앱스 스크립트 등 별도의 프로그래밍 환경을 구축할 필요가 없는 방법에 대해 다루고 있다. 그렇기 때문에 그 동안 데이터 수집이 필요했지만 어려운 전문 용어 때문에 관련 도서를 한 페이지도 넘기기 힘들었던 독자들은 이 책의 내용을 매우 쉽게 읽어 내려갈 수 있을 것이다.
# 이 책은 텍스트 데이터의 효율적인 수집을 목적으로 한다
텍스트 데이터에는 다양한 종류가 있다. 논문이나 뉴스, 페이스북이나 트위터와 같은 SNS에 올라오는 글, 회사 및 상품 정보, 고객 리뷰 등 자연어에 가까운 데이터에서부터 주식 정보, 각종 순위 같은 수치 데이터까지 다양하다. 이 책에서 데이터 수집의 목적은 ‘독자 개인을 위해’ 혹은 ‘비즈니스에서의’ 활용에 있으며, 구체적인 목표를 설정하고 몇 가지의 활용 사례를 통해 기술들을 응용하여 다양한 데이터를 수집함으로써 자연어와 수치 데이터 양쪽 모두 활용할 수 있도록 하고 있다.
# 웹에서 데이터를 효율적으로 수집하기 위한 핵심은 자동화에 있다
웹에서 데이터를 효율적으로 수집하기 위한 핵심은 자동화에 있다. 자동화를 해놓으면 내가 자는 시간에도 데이터를 수집할 수 있다. 이 책에서 다루는 자동화의 유형은 2가지가 있다. 하나는 일부 작업을 수동으로 하는 반자동화가 있고, 다른 하나는 수작업은 완전히 배제하고 컴퓨터에서 자동 혹은 정기적으로 데이터를 검색하는 완전 자동화가 있다. 이 책에서는 각각의 장단점을 소개하고 있으므로 이를 활용하여 장기간 데이터를 축적해 기초 분석 데이터로 이용할지, 실시간으로 수집한 자료를 분석해 현재 시점의 의사 결정에 도움이 되도록 할지를 선택적으로 활용해 보자.
작가 소개
저자 : 타쿠로 사사키
대학 졸업 이후 지금까지 웹 시스템 개발에 종사했으며, 기획부터 디자인 개발, 운영에 이르는 모든 분야의 전문가이다. 웹의 대상 영역을 IoT 및 머신러닝 등으로 넓혀 가고 있으며, 실리콘밸리 근무 시절에는 오픈 소스 R&D 및 해외 제품의 수입 등에도 관여하였다. 최근에는 AWS 사업 추진 및 모바일 앱을 개발하면서 어떻게 하면 편한 삶을 살 수 있는지를 찾기 위해 더욱 바쁘게 일하고 있 다. 주요 저서로는 『RUBY로 만드는 크롤러 제작 기술』, 『AmazonWebServices 패턴별 구축 및 운영 가이드』, 『AmazonWebServices 클라우드 네이티브 애플리케이션 개발 기술』(SB크리에이티브) 등이 있다.
역자 : 김경록
현재 개발자로 웹 프론트엔드, 백엔드 개발을 주로 하고 있다. 최근에는 React+Webpack을 이용한 웹 프론트 엔드를 개발 및 운영했으며(2016), 현재는 Spring Data JPA를 이용한 백엔드를 개발하고 있다(2017). ‘경록김의 뷰티플 프로그래밍’ 블로그를 통해 ‘Udemy 스프링’과 ‘EXCEL VBA(엄마도 따라 할 수 있는 EXCEL VBA)’ 강좌를 하고 있으며, 패스트캠퍼스에서 프로그래밍 강사로 활동하고 있다.
목 차
Chapter 1 웹 데이터를 수집하기 위해 알아야 하는 것들
1-1 인터넷에는 데이터가 많죠?
_ 웹 데이터의 종류
[여기서 잠깐] 이 책에서 대상으로 하는 데이터
1-2 효율적인 데이터 수집을 위해 해야 할 일
_ 데이터 수집 3단계
1-3 어떻게 자동화 할 수 있을까?
_ 스크래핑과 크롤러
_ 반자동화 프로그램
_ 완전 자동화 프로그램
[여기서 잠깐] 이 책의 진행 방식
1-4 웹에서 데이터를 수집할 때의 주의사항
_ 수집 데이터의 처리와 저작권
_ 웹 사이트의 리소스 압박과 업무 방해
_ 크롤러와 API
Chapter 2 엑셀을 이용한 웹 데이터 수집의 기술
2-1 엑셀 VBA로 웹 데이터 수집하기
_ 엑셀로 데이터 수집하기
_ 엑셀에서 VBA를 사용하기 위한 메뉴 설정하기
_ 데이터 수집에 필요한 프로그램 작성하기
2-2 VBA에서 인터넷 익스플로러를 조작하는 방법
_ 맨 윗줄, 어떤 것을 할지 선언하는 부분
_ VBA 함수 선언
_ 인터넷 익스플로러 작업
2-3 웹 페이지에서 원하는 값을 추출하는 방법
_ HTML이란?
_ HTML에서 class로 데이터를 추출하는 프로그램
[여기서 잠깐] 검색어 변경하는 방법
2-4 XPath를 이용해 데이터 추출하기
_ 크롬에서 XPath를 추출하는 방법
_ 파이어폭스에서 XPath를 추출하는 방법
2-5 엑셀 함수를 이용한 데이터 수집
_ WEBSERVICE 함수를 이용한 데이터 수집
_ FILTERXML 함수를 이용한 데이터 수집
Chapter 3 구글 스프레드시트를 이용한 웹 데이터 수집의 기술
3-1 구글 스프레드시트와 구글 앱스 스크립트 준비하기
_ 구글 스프레드시트
_ 구글 앱스 스크립트
_ GoogleFinance 함수를 이용하여 주식 데이터 바로 가져오기
_ 구글 스프레드시트로 스크래핑하기
3-2 ImportXML 함수를 이용하여 웹 데이터 수집하기
_ ImportXML 함수의 개요
_ 주가 데이터 수집 방법
_ 데이터 가지고 오기
[여기서 잠깐] ImportXML에서 다른 데이터 검색하기
3-3 구글 앱스 스크립트를 이용하여 데이터 수집하기
_ 구글 앱스 스크립트 사용 방법
_ 구글 앱스 스크립트를 이용한 스크래핑
[여기서 잠깐] 다른 페이지에서 데이터 가져오기
3-4 지정한 시간에 정기적으로 데이터 수집하기
_ 구글 앱스 스크립트 트리거
_ 트리거 설정 방법
Chapter 4 스크래핑 전용 서비스를 이용하여 웹에서 데이터 수집하기
4-1 import.io를 사용하여 웹 데이터 수집하기
_ import.io 서비스의 개요
4-2 import.io에서 스크래핑 실행하기
_ import.io 회원 가입하기
_ 데이터 자동 추출하기
_ 저장한 데이터 불러오기
_ API 이용해 데이터 불러오기
4-3 수집한 데이터를 구글 스프레드시트로 불러오기
_ 구글 스프레드시트와 연동
_ 구글 앱스 스크립트에서 API 호출하기
Chapter 5 앱을 이용하여 페이스북에서 데이터 수집하기
5-1 앱을 이용하여 데이터를 수집하고 알림 받기
_ 알림을 받기 위한 애플리케이션
_ IFTTT 소개
_ 슬랙(Slack) 소개
5-2 IFTTT를 이용해 페이스북에 글 올리면 이메일로 알림 받기
_ IFTTT 회원 가입하기
_ 모바일 앱 설치하기
_ 페이스북에 포스트를 올리면 알림이 오는 기능 만들기
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |