Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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 31
Archives
Today
Total
관리 메뉴

이지훈님의 블로그

Python 종목코드 가져오기 본문

Stock Prediction

Python 종목코드 가져오기

개발자입니다. 2017. 6. 19. 17:02

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