일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- fdisk
- 연산자
- RHEL4
- solaris network
- Network
- memory
- patch
- php5
- Unix
- sqlplus
- Linux
- rac
- perl + 정규표현식
- cygwin
- 오라클
- Oracle RAC
- grid
- prompt
- perl one-liner
- solaris
- bash
- PERL
- command & perl
- SQL
- mariaDB
- MySQL
- perl string
- dba
- oracle
- oracle install
Archives
- Today
- Total
DATA 전문가로 가는 길
[Python] 네이버 주식 종목별 일별 데이터 가져오기 본문
이번에는 네이버 주식(http://finance.naver.com/) 데이터를 가져오는 방법을 해보도록 하겠습니다.
아래는 삼성전자(보통주)를 기준으로 일별시세 데이터 입니다.
크롬에서 표 안쪽에서 오른쪽 마우스를 누르면 "프레임 소스 보기" 선택하면 아래 표에 해당하는 주소를 얻어 올 수 있습니다.
삼성전자(보통주) 일별 시세 주소 : finance.naver.com/item/sise_day.nhn?code=005930
그 다음에 주요한 것은 각 페이지별로 데이터를 가져오는 방법입니다.
2번 페이지를 누를 경우 아래와 같은 주소를 얻게 됩니다.
삼성전자(보통주) 일별 시세 페이지 주소 : finance.naver.com/item/sise_day.nhn?code=005930&page=2
이러한 방법으로 데이터를 수집해보겠습니다.
1. 네이버 주식 일별시세(삼성전자) 데이터 가져오기
import urllib import time from urllib.request import urlopen from bs4 import BeautifulSoup stockItem = '005930' url = 'http://finance.naver.com/item/sise_day.nhn?code='+ stockItem html = urlopen(url) source = BeautifulSoup(html.read(), "html.parser") maxPage=source.find_all("table",align="center") mp = maxPage[0].find_all("td",class_="pgRR") mpNum = int(mp[0].a.get('href')[-3:]) for page in range(1, mpNum+1): print (str(page) ) url = 'http://finance.naver.com/item/sise_day.nhn?code=' + stockItem +'&page='+ str(page) html = urlopen(url) source = BeautifulSoup(html.read(), "html.parser") srlists=source.find_all("tr") isCheckNone = None if((page % 1) == 0): time.sleep(1.50) for i in range(1,len(srlists)-1): if(srlists[i].span != isCheckNone): srlists[i].td.text print(srlists[i].find_all("td",align="center")[0].text, srlists[i].find_all("td",class_="num")[0].text )
2. 네이버 주식 일별시세(삼성전자) 데이터 결과
[python@localhost source]$ python get_naver_stock_prices.py 1 2016.05.03 1,258,000 2016.05.02 1,250,000 2016.04.29 1,245,000 2016.04.28 1,265,000 2016.04.27 1,300,000 2016.04.26 1,296,000 2016.04.25 1,281,000 2016.04.22 1,280,000 2016.04.21 1,294,000 2016.04.20 1,299,000 2 2016.04.19 1,288,000 2016.04.18 1,299,000 2016.04.15 1,300,000 2016.04.14 1,300,000 2016.04.12 1,275,000 2016.04.11 1,266,000 2016.04.08 1,246,000 2016.04.07 1,269,000 2016.04.06 1,285,000 2016.04.05 1,260,000
'Programming > Python' 카테고리의 다른 글
[Python] 주식 일별 시세(과거 데이터) 적재(JSON, pandas_datareader) (4) | 2016.04.20 |
---|---|
[Python] MariaDB 접속 및 버전 확인(PyMySQL) (0) | 2016.04.17 |
[Python] 주식 시세 데이터 (Yahoo Finance, ystockquote) (2) | 2016.04.08 |
[Python] CentOS 7 Python 3.5.1 자동 설치 가이드 (2) | 2016.04.06 |
Comments