데이터 만들기

타키탸키·2021년 8월 18일
0

데이터 사이언스

목록 보기
16/26

🔧 데이터 만들기의 중요성

  • 데이터의 중요성
    • 데이터는 하나의 자산
    • 데이터 공개를 꺼려하는 대부분의 기업들
    • 데이터를 모아서 파는 기업들
  • ZARA의 사례
    • ZARA의 성공 비결은 데이터
    • ZARA의 데이터
      • 매장에서 판매되고 환불되는 제품에 대한 데이터
      • 웹사이트나 SNS에서의 유저들에 대한 데이터
      • 설문조사 데이터
    • ZARA의 데이터 수집 노력
      • 고객들의 의견을 모두 PDA에 기록
      • 매장의 모든 옷에 작은 칩 달기
    • 데이터 활용의 결과
      • 디자인부터 매장 입고까지의 시간 단축
      • 효율적인 재고 관리
  • 데이터를 분석하기 전에 모아야 한다!

🔧 센서 사용하기

  • 센서(Sensor)
    • 물리적인 현상을 감지해서 전기 신호로 변환해 주는 장치
    • 센서로 데이터를 모을 수 있다!
    • 예:) 에스컬레이터 - 사람들의 이동 시간, 이동량 측정
  • 일반 개발자가 센서를 활용하는 방법
    • 아두이노, 라즈베리 파이를 통해 센서 활용

🔧 웹에서 모으기

  • 인터넷을 통한 데이터 수집
    • 가장 빠른 속도로 데이터가 쌓이고 있는 곳
    • 하루종일 붙잡고 있는 스마트폰 or 컴퓨터
    • 웹 사이트나 어플에서 하는 모든 행동들을 데이터로 저장 가능
    • 많은 데이터를 이용해서 차별성 있는 서비스를 만드는 여러 기업들
  • 데이터 수집
    • 웹 스크레이핑(Web Scraping)
      • 하나의 특정 웹 페이지에서 원하는 정보를 받아오는 것
    • 웹 크롤링(Web Crawling)
      • 프로그램을 통해 컴퓨터가 자동으로 여러 웹 페이지를 수집하는 것
      • 웹 크롤링을 통해 수집한 웹 페이지로 웹 스크레이핑 진행 가능
      • 웹 크롤러: 웹 크롤링 프로그램

🔧 웹 페이지의 구성

  • HTML
    • 웹 페이지의 내용을 나타내는 코드
    • .html
  • HTML 태그
    • 꺾쇠(<>)
    • <p>: 문단(Paragraph)을 나타내는 태그
    • </p>: p 태그의 끝
    • <li>: 리스트의 요소(list item)를 나타내는 태그
    • <ul>: 태그의 내용이 또 다른 태그인 경우
    • <img>: 닫는 태그가 없는 경우
<p>나는 타키탸키</p>

<ul>
  <li>파이리</li>
  <li>꼬부기</li>
</ul>

<img src="https://.../firetaki.jpg">
  • CSS
    • 웹 페이지의 디자인을 위한 언어
  • JavaScript
    • User Interaction 기능을 위한 언어

🔧 HTML

HTML 태그의 구성

  • 태그 이름
    • P, li, img, ...
    • 태그를 상징하는 <> 기호 안에 태그 이름을 가장 먼저 넣는다
  • 태그 속성
    • 태그 이름이 아닌 모든 것
    • 일반적으로 속성 이름과 속성 값을 하나의 쌍으로 가짐
      • name="value"
    • <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)
    • 웹 페이지에 필요한 서비스를 제공
    • 세상 어딘가에 있는 컴퓨터
  • 클라이언트(Client)
    • 웬 페이지에 필요한 서비스를 제공받음
  • 웹 페이지 접속 원리
    • 웹 브라우저(클라이언트) 필요
      • 웹 페이지를 받으려는 고객
    • Request
      • 주소 입력
      • 클라이언트가 서버에게 웹 페이지에 해당하는 내용 출력 요청
    • Response
      • 서버가 요청을 받고 필요한 것들을 클라이언트에 전송
  • 서버가 클라이언트에게 돌려주는 것
    • 웹 페이지에 해당되는 HTML 코드
    • 필요에 따라 CSS 코드와 JavaScript 코드도 전송
  • HTML 코드를 받은 브라우저
    • 사용자에게 예쁜 웹 페이지를 보여줌

🔧 Python으로 서버에 요청 보내기

  • 웹 브라우저 없이 서버에 요청 보내기
    • Python으로 구현 가능
  • requests 모듈
    • 요청을 보내기 위해 사용
import requests
  • 구글 서버에 요청 보내기
    • 자료형: Response(응답)
page = requests.get("https://www.google.com")
type(page)
requests.models.Response
  • 결과 확인
    • 요청에 대한 응답으로 HTML 코드 받음
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 - 데이터 사이언스 입문
profile
There's Only One Thing To Do: Learn All We Can

0개의 댓글