🔧 데이터 만들기의 중요성
- 데이터의 중요성
- 데이터는 하나의 자산
- 데이터 공개를 꺼려하는 대부분의 기업들
- 데이터를 모아서 파는 기업들
- ZARA의 사례
- ZARA의 성공 비결은 데이터
- ZARA의 데이터
- 매장에서 판매되고 환불되는 제품에 대한 데이터
- 웹사이트나 SNS에서의 유저들에 대한 데이터
- 설문조사 데이터
- ZARA의 데이터 수집 노력
- 고객들의 의견을 모두 PDA에 기록
- 매장의 모든 옷에 작은 칩 달기
- 데이터 활용의 결과
- 디자인부터 매장 입고까지의 시간 단축
- 효율적인 재고 관리
🔧 센서 사용하기
- 센서(Sensor)
- 물리적인 현상을 감지해서 전기 신호로 변환해 주는 장치
- 센서로 데이터를 모을 수 있다!
- 예:) 에스컬레이터 - 사람들의 이동 시간, 이동량 측정
🔧 웹에서 모으기
- 인터넷을 통한 데이터 수집
- 가장 빠른 속도로 데이터가 쌓이고 있는 곳
- 하루종일 붙잡고 있는 스마트폰 or 컴퓨터
- 웹 사이트나 어플에서 하는 모든 행동들을 데이터로 저장 가능
- 많은 데이터를 이용해서 차별성 있는 서비스를 만드는 여러 기업들
- 데이터 수집
- 웹 스크레이핑(Web Scraping)
- 하나의 특정 웹 페이지에서 원하는 정보를 받아오는 것
- 웹 크롤링(Web Crawling)
- 프로그램을 통해 컴퓨터가 자동으로 여러 웹 페이지를 수집하는 것
- 웹 크롤링을 통해 수집한 웹 페이지로 웹 스크레이핑 진행 가능
- 웹 크롤러: 웹 크롤링 프로그램
🔧 웹 페이지의 구성
- HTML 태그
- 꺾쇠(
<>
)
<p>
: 문단(Paragraph)을 나타내는 태그
</p>
: p 태그의 끝
<li>
: 리스트의 요소(list item)를 나타내는 태그
<ul>
: 태그의 내용이 또 다른 태그인 경우
<img>
: 닫는 태그가 없는 경우
<p>나는 타키탸키</p>
<ul>
<li>파이리</li>
<li>꼬부기</li>
</ul>
<img src="https://.../firetaki.jpg">
- JavaScript
- User Interaction 기능을 위한 언어
🔧 HTML
HTML 태그의 구성
- 태그 이름
P
, li
, img
, ...
- 태그를 상징하는
<>
기호 안에 태그 이름을 가장 먼저 넣는다
- 태그 속성
- 태그 이름이 아닌 모든 것
- 일반적으로 속성 이름과 속성 값을 하나의 쌍으로 가짐
<li>...</li>
로 나눠진 태그
- 시작 태그에 속성을 적는다
<li id="favorite">콜라</li>
- 속성:
id
/ 값: "favorite"
- 여러 속성을 가진 태그
<img alt="logo" class="logo-img" src=".../music/logo.png"/>
- 속성:
alt
, class
, src
- 값:
"logo"
, "logo-img"
, ...
HTML 태그의 구조
- 한 페이지의 HTML 태그는 서로 연결 됨
- 부모 관계 or 트리 구조
- 데이터 수집에 중요
<ul>
태그 아래에 세 개의 <li>
태그, 그 속에 데이터
- 부모 태그:
<ul>
/ 자식 태그: <li>
<ul>
<li>파이리</li>
<li>꼬부기</li>
</ul>
- 태그의 기능을 몰라도 데이터의 구조 파악 가능
HTML, 얼마나 알아야 할까?
- 웹 사이트에서 데이터 수집
- 태그의 구조를 이해할 수 있는 수준
- 내부 원리는 자세히 몰라도 프로그램 개발 가능
- 전문가 수준의 자동화 봇, 고급 응용 프로그램 개발
- 반드시 HTML과 CSS를 능숙하게 다뤄야 한다
🔧 기본 HTML 태그 정리
DOCTYPE 선언
- 최신 버전 HTML 5 파일을 쓰기 위해 작성
<!DOCTYPE html>
title 태그
- 페이지의 제목
- 브라우저의 탭이나 방문 기록에 나와 있는 제목
<title>Sample Website</title>
h1~h6 태그
<h1>머리말 1</h1>
<h2>머리말 2</h2>
<h3>머리말 3</h3>
<h4>머리말 4</h4>
<h5>머리말 5</h5>
<h6>머리말 6</h6>
머리말 1
머리말 2
머리말 3
머리말 4
머리말 5
머리말 6
p 태그
- 문단 작성을 위한 태그
- 태그 위아래에 기본적으로 여백 있음
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
그 외
🔧 서버와 클라이언트
- 서버(Server)
- 웹 페이지에 필요한 서비스를 제공
- 세상 어딘가에 있는 컴퓨터
- 웹 페이지 접속 원리
- 웹 브라우저(클라이언트) 필요
- Request
- 주소 입력
- 클라이언트가 서버에게 웹 페이지에 해당하는 내용 출력 요청
- Response
- 서버가 요청을 받고 필요한 것들을 클라이언트에 전송
- 서버가 클라이언트에게 돌려주는 것
- 웹 페이지에 해당되는 HTML 코드
- 필요에 따라 CSS 코드와 JavaScript 코드도 전송
🔧 Python으로 서버에 요청 보내기
import requests
page = requests.get("https://www.google.com")
type(page)
requests.models.Response
page.text
🔧 웹사이트 주소 이해하기
https://www.ikea.com/catalog/news?sorting=price&pageNumber=4
- 웹 사이트 주소(url) 해부
https://
- 소통 방식
- 기본 방식은 http
- 추가적인 보안을 추가하기 위해서는 https 사용
www.ikea.com
catalog/news?
- 경로
- 슬래시(
/
)로 구분
- 어떤 페이지를 보여줄지 나타냄
sorting=price&pageNumber=4
- 쿼리 스트링
- 함수의 파라미터
- 페이지의 옵션 넘겨줌
- 가격순 정렬 & 4 페이지
* 출처: CODEIT - 데이터 사이언스 입문