본문 바로가기

Python13

웹 크롤링 with Python 4장 웹 크롤링 with Python 4장 웹 크롤링을 통해 자연어를 읽고 쓰는 기능을 수행할 수 있다. 이는 웹 크롤링 파트에서 데이터를 분석하는 부분에 속한다고 볼 수 있다. 웹에서 자연어로 구성된 데이터를 가지고 와서 이를 우리가 원하는 결과물로 바꾸어주는 과정을 의미한다. 또한 일반적으로 구글이나 네이버와 같은 검색 엔진을 통해 우리가 원하는 정보를 찾는데 이런 과정이 어떻게 진행하는지에 대해서도 알 수 있게 된다. 검색창에 자연어를 입력하였는데 어떻게 해서 우리가 원하는 결과물로 잘 도달할 수 있는지가 바로 웹 크롤링의 과정에 속하게 된다. 우선 웹 상에 있는 자연어 데이터에는 불필요한 정보들이 매우 많다. 우리는 이러한 정보를 정리하고 필요한 정보만을 추출할 필요가 있다. 그래서 n-그램의 방법과 .. 2017. 7. 13.
웹 크롤링 with Python 2장 웹 크롤링 with Python 2장 웹 크롤러라는 이름은 웹을 크롤링하기 때문에 붙여진 이름이다. 그 핵심은 재귀이다. 웹 크롤러는 URL에서 페이지를 가져오고, 그 페이지를 검사해 다른 URL을 찾고, 다시 그 페이지를 가져오는 작업을 무한히 반복한다. 하지만 웹 크롤러를 사용할 때는 반드시 대역폭에 세심한 주의를 기울여야 하며, 타켓 서버의 부하를 줄일 방법을 강구해야 한다. API는 애플리케이션 프로그래밍 인터페이스로 서로 정보를 공유해야 하는 소프트웨어 사이에서 국제어 구실을 하도록 디자인된 인터페이스이다. API가 요청을 보낼 때는 HTTP를 통해 데이터를 요청하며 API는 이 데이터를 XML이나 JSON 형식으로 반환한다. HTTP를 통해 웹 서버에 정보를 요청하는 방법은 GET과 POST가.. 2017. 7. 11.
웹 크롤링 with Python 1장 웹 크롤링 with Python 1장 웹 브라우저는 패킷을 만들고, 보내고, 돌아온 데이터를 해석해 사진, 소리, 비디오, 텍스트 등으로 표현하는 매우 유용한 애플리케이션이다. 웹 브라우저는 코드이기 때문에 코드는 떼어내서 기본 구성 요소를 나누고, 다시 만들고, 재사용하고, 원하는 어떤 것으로든 바꿀 수 있다. 웹 크롤링은 웹 브라우저로부터 우리가 가공하고 싶은 데이터를 가져오는 과정이다. 여기에서는 가져오는 과정과 저장하는 과정, 다시 불러오는 과정 등등이 포함되어 있다. urllib 라이브러리는 파이썬의 표준 라이브러리로 웹을 통해 데이터를 요청하는 함수, 쿠키를 처리하는 함수, 심지어 헤더나 유저 에이전트 같은 메타데이터를 바꾸는 함수도 있다. urllib 라이브러리의 함수 중에서 urlopen은.. 2017. 7. 11.
데이터 분석 with Python 3장 - Matplotlib를 활용한 데이터 분석 - 데이터 분석 with Python 3장- Matplotlib를 활용한 데이터 분석 - Matplotlib은 numpy 혹은 pandas를 통해 얻은 데이터에 대한 분석 결과를 시각화시키는데 사용하는 라이브러리이다. Matplotlib은 DataFrame 혹은 Series 형태의 데이털르 가지고 다양한 형태의 플록을 만들어 주는 기능을 가지고 있다. Matplotlib를 설치하는 방법은 cmd 프로그램이나 터미널에 pip install matplotlib라는 명령을 입력해주면 쉽게 설치가 가능하다. Matplotlib를 사용하기 위해서는 Python에서 %matplotlib이라는 매직 명령어를 통해 플롯팅 옵션을 먼저 지정해야한다.(ipython에서 사용하는 경우) %matplotlib nbagg를 실행하.. 2017. 6. 11.
데이터 분석 with Python 2장 - Pandas를 활용한 데이터 분석 - 데이터 분석 with Python 2장- Pandas를 활용한 데이터 분석 - Pandas는 교유하게 정의한 Series 및 DataFrame 등의 자료 구조를 활용하여 빅데이터 분석에 있어 우수한 성능을 발휘하는 모듈이다. 기존에 엑셀로 하던 모든 분석을 더 큰 스케일의 데이터에 대하여 더 빠른 속도로 적용할 수 있는 장점을 가지고 있다. Pandas를 설치하는 방법은 cmd 프로그램이나 터미널에 pip install pandas라는 명령을 입력해주면 쉽게 설치가 가능하다. Pandas를 사용하기 위해서는 Python에서 import를 시켜 주어야한다. import Pandas as pd 로 명령을 넣어서 pd라는 이름을 통해 Pandas 모듈을 사용할 수 있는 상태로 만든다. Pandas의 대표적인 .. 2017. 6. 9.
데이터 분석 with Python 1장 - NumPy를 활용한 데이터 분석 - 데이터 분석 with Python 1장- NumPy를 활용한 데이터 분석 - NumPy는 주요한 python 데이터 분석 라이브러리의 기본 베이스가 되는 라이브러리로 벡터 및 행렬 연산과 관련하여 편리한 인터페이스를 제공한다. NumPy를 설치하는 방법은 cmd 프로그램이나 터미널에 pip install numpy라는 명령을 입력해주면 쉽게 설치가 가능하다. NumPy를 사용하기 위해서는 Python에서 import를 시켜 주어야한다. import numpy as np 로 명령을 넣어서 np라는 이름을 통해 numpy 모듈을 사용할 수 있는 상태로 만든다. NumPy는 기본적으로 array라는 단위로 데이터를 관리한다. 이러한 데이터를 활용해서 다양한 연산을 할 수 있고 이를 통해 데이터 분석을 할 수 .. 2017. 6. 9.
파이썬(python) 강의 10장 - 객체와 변수(데이터) - 파이썬(python) 강의 10장- 객체와 변수(데이터) - 파이썬의 class를 사용하여 객체를 쓰게 되면 유용한 듯 보이지만 하나의 큰 문제를 발견할 수 있다. 그건 바로 하나의 class로 선언된 객체의 변수를 밖에서 마음껏 바꿀 수 있다는 것이다. 이게 왜 문제가 되는지 궁금할 수도 있다. 그래서 이에 대해 설명을 하고 이를 방지할 수 있는 방법을 설명하고자 한다. 변수는 매우 중요한 자료이다. 모듈을 사용하지 않고 class를 이용하여 객체를 만드는 이유 중 하나가 함수는 같은데 변수를 다양하게 사용하기 위해서 이다. 그러므로 변수는 객체를 구성하는 종류에서 매우 중요하다고 할 수 있다. 그런데 우리가 지정해주지 않았는데도 class 외부 즉 객체가 지정해주는 값 이외에 다른 임의의 값이 들어오.. 2017. 5. 29.
파이썬(python) 강의 9장 - 객체 지향 프로그래밍 - 파이썬(python) 강의 9장- 객체 지향 프로그래밍 - 객체 지향 프로그래밍은 Object Oriented Programming으로 객체를 통해 프로그래밍을 동작시키는 방식을 말한다. 앞의 장에서 모듈에 대해서 배웠다. 모듈은 일종의 수납공간과 같은 형태로 우리가 원하는 함수를 모듈이라는 공간에 잘 보관하여 사용하고 싶을 때 사용을 할 수 있게 해주는 도구이다. 이러한 모듈이라는 개념에서 조금 더 다양한 기능을 수행할 수 있게 해주는 것이 바로 객체라는 도구이다. 객체는 class와 instance로 이루어져 있다. class는 모듈과 같은 수납공간으로 이해할 수 있다. 하지만 class는 함수뿐만 아니라 연관된 변수 또한 포함하고 있는 공간이다. 우리는 이 class를 바로 사용하지 않고 복제를 하.. 2017. 5. 29.
파이썬(python) 강의 8장 - 모듈(module) - 파이썬(python) 강의 8장- 모듈(module) - 컴퓨터를 사용할 때 파일이 한 두 개만 있다면 우리는 나누거나 할 필요 없이 그냥 사용하면 된다. 하지만 파일의 수가 엄청나게 많아지게 된다면 어떻게 해야 할까? 이런 파일 중에서는 같은 이름을 가진 파일이 있을 수도 있고 언제 만들었는지 무엇을 의미하는지에 따라 구분을 하고 싶을 것이다. 이 때 폴더인 디렉토리라는 것을 사용하여 성격이 비슷한 파일들을 하나의 디렉토리에 넣어준다. 이렇게 되면 양이 많아짐에 따라 늘어나는 복잡도를 명확하게 나타나게 해줄 수 있는 방법이다. 이런 방법을 파이썬에도 적용할 수 있다. 파이썬을 만들 때에도 엄청나게 많은 코드들을 가지고 만드는데 이럴 때 많은 문제가 발생한다. 이럴 때 사람들이 사용하는 많은 코드들 중에.. 2017. 5. 23.
파이썬(python) 강의 5장 - 입력과 출력 & 논리 연산자 - 파이썬(python) 강의 5장- 입력과 출력 & 논리 연산자 - 4장에서 조건문을 사용할 때 임의의 주어진 answer라는 값을 사용해서 구문을 완성시켰다. 따라서 answer라는 값은 코드를 통해서 계속 바꾸어줘야 하는 값인 것이다. 하지만 우리가 보편적으로 아이디나 비밀번호를 입력할 때 코드를 작성하는 것처럼 항상 정해져 있는 것이 아니다. 수많은 사람들이 조건문을 통해 증명을 받을 때 자신이 내놓은 답은 다를 것이다. 따라서 컴퓨터는 사람들이 원할 때 마다 값을 바꾸어 받아줄 필요가 있다. 따라서 이런 기능을 위해 입력이 존재한다. 출력은 print를 통해 하는 방법을 많이 보았으니 입력에 대해 자세히 보도록 하자. 출력하기를 위해서는 print라는 함수를 사용하였다. 입력하기를 위해서도 이와 같.. 2017. 5. 16.