diff --git a/README.md b/README.md index 147369ee889fe09929caab9391877f9e5d9f1727..bd3fe422d394b255670a54a5084f719fade744cc 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,13 @@ ## * Python Request(리퀘스츠) 라이브러리 사용법 소개 및 활용을 통한 주식 가격 알림이 프로그램 제작 ### 목차 +[서론](#서론) 1. [Python이란?](#Python이란?) 2. [Python 라이브러리 'Requests'](Python-라이브러리-'Requests') 3. [Requests 예제](Requests-예제) 4. [주식 가격 알림이 제작 및 실습](주식-가격-알림이-제작-및-실습) - +5. [마무리](마무리) +6. ## Python이란? ### Python이란? - 1990년 암스테르담의 귀도 반 로섬이 개발한 인터프리터 언어이다. @@ -61,30 +63,81 @@ ## Requests 예제 ### Naver에 HTTP 요청 보내기 +- 네이버에 http 요청을 보내, 네이버의 html 데이터를 불러오도록 해보자.  +- 위와 같이 +`request.get(url)` +를 통해서 html 데이터를 불러올 수 있다.  +- 결과값은 http status가 출력되는 것을 확인할 수 있다. +  +- html 데이터를 담고 있는 변수 'response'를 text 형태로 출력하면 다음과 같다.  ### Naver에 HTTP 요청 보내기 - beautifulSoup 응용 +- requests를 통해서 불러온 html 데이터는 단순히 string형태이기 때문에, 이 데이터를 html형태로 파싱해줘야한다. +- 이때, beautifulSoup를 통해서 html로 파싱할 수 있다.  +- 위와 같이 변수 'response'를 `bs(html 데이터, 'html.parser')` 를 통해서 html형태로 바꾸어 줄 수 있다. +- 또한 `find(태그, 속성)` 함수를 통해서 html 데이터에서 원하는 정보를 가져올 수 있다. +  +- 위와 같은 경우에는 'a' 태그이면서 'class= link_set'의 속성을 가지는 html 데이터를 호출하였다.  ## 주식 가격 알림이 제작 및 실습 +- 앞에서 배운 requests와 beautifulSoup 라이브러리를 응용하여 주식 가격 알림이 프로그램을 제작해보자. +- 주식 가격 알림이 : 종목의 현재가를 알려주는 프로그램 + ### 주식 가격 알림이 설계 +#### 기능 1 - 종목 현재가 조회 +- 주식 종목 이름 기입한다. +- 현재가를 조회 후 출력한다. +- 일치하는 종목이 없을 경우 메인 화면으로 복귀한다. + +#### 기능 2 - 지정 종목의 현재가를 일정 시간 간격으로 조회 +- 지정 주식 종목의 이름 기입한다. +- 1분 간격으로 주식의 현재가를 조회 후 출력한다. +- 주식 시장이 끝나는 3시 20분에 자동 종료한다. + +#### 기능 3 - 종료 +- 프로그램 종료 + +#### 사이트 +  +- 네이버 금융 국내증시 시가총액('https://finance.naver.com/sise/sise_market_sum.nhn?page=')페이지에서 requests를 통해서 각 종목의 이름과 현재가를 불러오도록 할 것이다. + +### 가격 조회 알고리즘 - finding_stock_price(stock_name) +1. 해당 url의 html 정보를 requests 한다. +2. 얻어온 정보를 beautifulSoup를 통해 html로 변환 +3. html 태그를 통하여 n번 페이지의 주식 data를 리스트에 저장한다. +4. for문을 통해 찾고자 하는 주식의 종목이 있는지를 확인한다. +5. 없을 경우 다음 페이지를 검색한다. -### 가격 조회 알고리즘  + + ### 실행파일로 만들기 +- 실행 파일로 배포하기 위하여 'pyinstaller'를 사용한다. +#### pyinstaller 설치 방법  +#### pyinstaller를 통해 exe파일 만들기  + ### 주식 가격 알림이 프로그램 +#### 기능 1  +- 주식 종목명을 기입하였을 때, 현재가가 출력되는 것을 확인할 수 있다. + +#### 기능 2  +- 1분 간격으로 기입한 종목의 현재가가 갱신되어 출력되는 것을 확인할 수 있다. + +