전체 글(472)
-
xml데이터 분석
xml 데이터 분석 xml은 특정 데이터를 태그에 감싸서 표현하는 마크업 형태의 텍스트 데이터를 말한다. 데이터 밑에 서브데이터를 붙이고 계속해서 붙여서 사용하여 계층적 구조를 갖고있다. 데이터 형태로 되어 있으며 요소의 이름은 아무거나 하면 된다. from bs4 import BeautifulSoup import urllib.request as req import os.path url = "http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108" savename = "forecast.xml" if not os.path.exists(savename): req.urlretrieve(url,savename) xml = open(savename,"..
2018.04.03 -
텍스트 데이터와 바이너리 데이터
텍스트 데이터와 바이너리 데이터 데이터는 일반적으로 텍스트와 바이너리의 형태로 이루어져있습니다. 텍스트는 문자와 숫자로 이루어져있고 우리가 알아볼 수 있는 내용으로 만들어져 있습니다. 하지만 바이너리 데이터는 문자이외의 영역에 우리가 알아볼 수 없는 내용으로 만들어져있습니다. 같이 100을 썼을 때 크기를 비교해보면 텍스트 데이터 Vs 바이너리 데이터 텍스트 데이터는 바이너리 보다 용량이 큰대신 사람들이 쉽게 알아 볼 수 있습니다. 바이너리는 크기가 작고 텍스트 에디터로 편집할 수 없습니다. 그리고 텍스트 데이터는 언어에 따라 인코딩을 알맞게 사용해야 내용을 알아 볼 수 있습니다. 웹상에서는 일반적으로 바이너리데이터를 많이 사용합니다. 왜냐하면 사진과 동영상들이 용량이 크기때문에 텍스트 데이터 보단 바이..
2018.04.02 -
web api를 사용하여 데이터 추출하기
webAPI사용하기 지금까진 requests, urllib, selenium, phantomjs등을 사용해서 외부의 데이터들을 스크래핑해왔습니다. 오늘 해볼 것은 웹페이지에서 완전히 제공해주는 API를 사용하여 데이터를 가져올 것입니다. 웹사이트에서는 왜 API를 제공하는 것일 까요??? 그 이유는 많은 사람들이 웹페이지에 크롤링하면 서버에 과부화가 될 수 있기 때문에 차라리 크롤링을 할 거면 API를 제공하여 서버에 부담을 줄일려고 만든 것입니다. 또한 유료로 파는 API도 많은데 이를 통해서 이득도 많이 얻을 수 있습니다. 그래서 오늘은 날씨정보를 가져올 수 있는 OpenWeatherMap API를 사용해보겠습니다. 날씨 API 회원 가입 후 api키를 받으면 됩니다. 이 api는 유료 버전도 있지만..
2018.03.30 -
mongodDB란????
mongo db node.js에서는 데이터를 저장하고 사용하는데에 sql 데이터 베이스보단 no sql인 mongodb를 많이 사용합니다. 왜그런 것인지 nosql과 sql의 차이점을 알아보자!! sql에서는 보안을 중점적으로 생각하고 이때문에 많은 리소스들을 사용하기 때문에 성능이 부족합니다. 그에 반해 nosql은 성능을 주로 생각하며 만들었기 때문에 실시간으로 처리하는 경우나 대규모 메시징 시스템등에 활용할 수 있습니다. mongoDB는 자바스크립트와 친화적이라서 node.js에 사용하기에 훨씬 편리하고 JSON과 같은 형식으로 값을 저장합니다. 그리고 몽고디비는 table이란 개념아 없고 하나하나의 데이터가 모인 하나의 단위를 컬렉션이라고 부릅니다. 여러개의 컬렉션이 모여서 데이터베이스를 이룬다고..
2018.03.29 -
Do it Node.js express를 이용하여 서버 만들기 7편 오류페이지 만들기
오류 페이지 만들기 보통의 사이트 들을 사용 중 404 또는 503에러 들이 발생하면 그 사이트의 고유의 에러 페이지가 발생한다. 그래서 우리도 404, 503같은 에러들이 발생했을 때 오류페이지를 만들어 보겠다. express-error-handler 다운로드 var http = require('http'), express = require('express'), bodyParser = require('body-parser'), static = require('serve-static'), cookieParser = require('cookie-parser'), expressErrorHandler = require('express-error-handler') ,path = require('path'); /..
2018.03.29 -
ubuntu에서 selenium과 Phantomjs를 사용해서 스크래핑해오기
phantomjs와 selenium설치하기 //selenium설치 pip3 install selenium //Beautifulsoup4 설치 pip3 install Beautifulsoup4 //PhantomJS에 필요한 라이브러리 설치 apt-get install -y wget libfontconfig //바이너리를 내려받고 설치하기 mkdir -p /home/root/src && cd $_ wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 tar jxvf phantomjs -2.1.1-linux-x86_64.tar.bz2 cd phantomjs-2.1.1-linux-x86_64/bin/ cp..
2018.03.29