이지훈님의 블로그
Python 종목코드 가져오기 본문
Python 종목코드 가져오기
다음 금융의 코스피 시가총액 페이지에 있는 종목과 코드를 긁어온다.
sudo pip3 install urllib3 sudo pip3 install beautifulsoup4
Code
urllib로 html문서를 가져왔고, beautifulsoup을 사용해 필요한 데이터를 찾았다.
종목코드와 종목이름을 list에 넣어 파일로 저장한다.
numpy의 savatxt를 사용하려고 했지만 atom에서 자꾸 인코딩 에러가 나서 codecs를 사용해 저장했다.
#-*- coding: utf-8 -*- from bs4 import BeautifulSoup import numpy as np import urllib.request import sys import io import os import codecs download_path = os.getenv("HOME") + '/code/Korea_Finance_Analysis/data/market/KOSPI' sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding='utf-8') stock_code_list = list() stock_name_list = list() for i in range(1, 11): page = urllib.request.urlopen('http://finance.daum.net/quote/marketvalue.daum?stype=P&page=' + str(i) + '&col=listprice&order=desc') soup = BeautifulSoup(page.read().decode('utf-8'), "html.parser", from_encoding='utf-8') elements = soup.findAll('td', {'class' : 'txt'}) for e in elements: stock_code = e.find('a')['href'][-6:] stock_name = e.find('a').contents[0] stock_code_list.append(stock_code) stock_name_list.append(stock_name) f = codecs.open(download_path, 'w', "utf-8") for code, name in zip(stock_code_list, stock_name_list): f.write(str(code) + ',' + str(name) + '\n') f.close()
'Stock Prediction' 카테고리의 다른 글
Python 주가데이터 가져오기 (0) | 2017.06.19 |
---|
Comments