[Data Science] 데이터 만들기

데이터를 만드는 방법

데이터 다운로드 받기

데이터를 구하는 가장 쉬운 방법은 이미 누군가가 만들어둔 데이터를 사용하는 것입니다.
아래는 데이터를 검색하는 사이트나 데이터를 공유하는 사이트들의 목록입니다.

이 외에도 구글 등의 검색 엔진을 활용하면 더 다양한 데이터들을 찾을 수 있습니다.
데이터에는 저작권이 있기도 하니 실제로 데이터를 활용할 때에는 잘 확인하고 사용해야 합니다.

센서 사용하기

센서는 여러 곳에서 사용되고 있습니다.
예를 들어 방에 사람이 없으면 불이 꺼지고 불이 켜지는 것,
멈춰 있다가 사람이 오면 움직이는 에스컬에이터,
밝은 곳에 오면 휴대폰 화면의 밝기가 밝아지는 것 모두 센서를 이용한 것입니다.

이런 센서는 데이터를 모을 때도 사용될 수 있는데요,
예를 들어 에스컬레이터의 센서를 통해 사람들이 언제 얼마나 다닐지를 알 수 있습니다.
기상청에서 온도나 바람 같은 것을 측정하는 것도 센서로 데이터를 모으는 것입니다.

이렇게 센서로 데이터를 모으는 것은 뭔가 큰 회사에서만 할 수 있는 것으로 보입니다.
그런데 그렇지 않고 아두이노나 라즈베리파이같은 기계를 사고 약간의 프로그래밍을 하면 센서를 활용한 데이터 수집이 가능합니다.

웹에서 모으기

가장 빠른 속도로 데이터가 쌓이는 곳은 인터넷입니다.

우리가 웹사이트나 어플에서 하는 모든 행동들을 데이터로 저장할 수 있는데,
구글, 넷플릭스, 카카오 등의 회사들이 본인들의 서비스를 통해 엄청난 양의 데이터를 쌓고 있습니다.
그리고 이렇게 만든 방대한 양의 데이터를 통해서 더욱 차별성 있는 서비스를 만들어냅니다.

우리도 서비스를 만들면 데이터를 모을 수 있을까요?
불가능하지는 않겠지만 그건 너무 어렵습니다.
기껏 열심히 노력해서 서비스를 만든다고 하더라도 서비스를 이용하는 유저가 부족하면 데이터가 모일 수 없습니다.

꼭 우리가 직접 서비스를 만들어야 데이터를 모을 수 있진 않습니다.
우리가 평소에 인터넷에서 보는 것들은 모두 공개된 데이터이므로 그 데이터를 이용하면 됩니다.

웹에 있는 데이터를 수집할 때 흔히 사용하는 용어가
웹 스크래핑(Web Scraping)과 웹 크롤링(Web Crawling)입니다.

웹 스크래핑은 하나의 특정 웹페이지에서 원하는 정보를 받아오는 것입니다.
그런데 웹 스크래핑을 위해서는 우선 웹 페이지가 있어야 합니다.
웹 페이지를 하나하나 모을 수도 있지만,
프로그램을 짜서 컴퓨터가 자동으로 웹 페이지를 모을 수 있게 하는 것을 웹 크롤링이라고 하고,
이렇게 만든 프로그램을 웹 크롤러 라고 합니다.

웹 페이지 가져오기

서버와 클라이언트

어떤 웹 사이트에 들어가고 싶으면 브라우저를 키고 주소를 입력하면 되는데, 이건 어떤 원리로 동작하는 건가요?

간단하게 살펴보면 웹에는 서버와 클라이언트가 있습니다.
우리 실생활에서 서버는 서비스를 제공하는 쪽이고 클라이언트는 서비스를 제공 받는 쪽입니다.
웹에서도 마찬가지입니다.

어떤 웹 사이트에 들어간다고 가정해보겠습니다.
웹 사이트에 접속하기 위해 크롬같은 웹 브라우저를 킬텐데, 이 브라우저가 바로 클라이언트입니다.
주소창에 어떤 주소를 치면 클라이언트가 웹 서버에게 그 사이트에 해당하는 정보를 달라고 요청합니다.
서버 컴퓨터에서는 그 요청을 보고 필요한 것을 클라이언트에게 보내줍니다.
클라이언트에게 HTML, CSS, javascript코드 같은 것들을 보내주면,
클라이언트는 이런 코드를 받아서 웹페이지를 보여주는 방식으로 웹 사이트에 접속하게 됩니다.

파이썬으로 서버에 요청 보내기

필요한 데이터 골라내기

파싱

Updated:

Leave a comment