IT is Smart
파이썬으로 인터넷의 주가정보 수집하기, get stock information from Internet 본문
파이썬으로 인터넷의 주가정보 수집하기, get stock information from Internet
달인최선 2016. 9. 9. 20:37이번에는 인터넷에서 구할 수 있는 데이터 자료를 수집하는 방법에 대해서 알아보겠습니다.
여기서 설명하는 것은 하나의 사례로써 이외에도 다양한 다른 방법이 있습니다. 내용을 참조하신 후 적절한 상황에 활용하시기 바랍니다.
인터넷으로 쉽게 구할 수 있는 데이터로는 주가 정보가 있습니다. yahoo의 finance섹션에서는 특정기업의 주가정보를 csv파일로도 제공을 해주고 있는데 이 자료를 수집하는 사례를 알아보겠습니다.
아래와 같이 Yahoo의 Finance 섹션에 접속한 후 특정기업을 검색합니다. 아래의 경우는 Microsoft를 검색해 봤습니다.
중간에 있는 베너 바로 위를 보면 Summary, Statistics, Profile, Financials, Options, Holders, Historical Data, Analysts 메뉴가 있습니다. 이 중에서 Historical Data
를 선택하면 아래와 같이 일자별 주가 표가 나타납니다.
표의 우측 상단을 보시면 Download Data
라는 링크가 있는데 여기를 마우스 우클릭으로 해서 링크 주소를 복사합니다. (크롬 브라우저 기준)
제 경우는
http://chart.finance.yahoo.com/table.csv?s=MSF.BE&a=7&b=9&c=2016&d=8&e=9&f=2016&g=d&ignore=.csv
이렇게 주소가 나왔습니다.
해당 링크를 클릭해보니 table.csv파일이 다운로드 되었고, 파일을 열어보니 아래와 같이 데이터가 저장되어 있었습니다.
방금은 직접 마우스로 해당 파일을 다운로드 받은 것이고, 이번에는 해당 파일을 파이썬 코드로 가져와 보겠습니다.
from urllib import request microsoft_url = 'http://chart.finance.yahoo.com/table.csv?s=MSF.BE&a=7&b=9&c=2016&d=8&e=9&f=2016&g=d&ignore=.csv' def download_stock_data(csv_url): response = request.urlopen(csv_url) csv = response.read() csv_str = str(csv) lines = csv_str.split("\\n") dest_url = r'microsoft.csv' fx = open(dest_url, "w") for line in lines: fx.write(line + "\n") fx.close() download_stock_data(microsoft_url)
위의 코드를 작성한 후 실행해 보면 해당 경로에 microsoft.csv
파일이 생성된 것을 확인할 수 있습니다.
위의 주소 부분을 분석해 보면 원하는 기업의 코드와 원하는 기간에 대한 주소를 생성해서 호출하면 해당 정보를 자동으로 수집할 수 있다는 것을 알 수 있습니다.
'Programming > Python Basic' 카테고리의 다른 글
파이썬 requests모듈로 웹크롤링하기, web crawling using requests (3) | 2016.09.10 |
---|---|
파이썬 requests모듈 사용하기, use requests module (0) | 2016.09.09 |
파이썬으로 txt파일 만들고 읽기, write & read txt file (0) | 2016.09.09 |
파이썬으로 인터넷에서 이미지 수집하기, get Image from Internet (3) | 2016.09.09 |
파이썬 다른 파일 참조하기, Use import (0) | 2016.09.09 |