Today_I_Learned
네이버 증권 ETF 시세 정보 및 항목 리스트 API 조회 파이썬 코드 예제
CONCAT
2023. 9. 30. 20:23
728x90
- 네이버 증권의 ETF 시세 정보의 API에 접근하는 코드
FinanceDataReader
에 유사한 접근할 수 있는 기능이 있지만, 단순 이름만 제공하고 시가총액 등 세부 내용엔 접근할 수 없다.
import requests
import pandas as pd
def get_etf_item_list():
# 데이터 요청
URL = 'https://finance.naver.com/api/sise/etfItemList.nhn'
response = requests.get(URL)
data = response.json().get('result').get('etfItemList')
# 테이블화 & 컬럼 정리
df = pd.DataFrame(data)
df.columns = ['종목코드', '카테고리', '종목명', '현재가', '등락여부', '전일비', '등락률', 'NAV', '3개월수익률', '거래량', '거래대금', '시가총액']
# 변수 변환
df.등락여부 = df.등락여부.map({'2': '▲', '5': '▼'})
df.카테고리 = df.카테고리.map({
1: '국내 시장지수', 2: '국내 업종/테마', 3: '국내 파생',
4: '해외 주식', 5: '원자재', 6: '채권', 7: '기타'})
# 타입 처리
df = df.astype({
'현재가': int, '등락률': float, 'NAV': int, '3개월수익률': float,
'거래량': int, '거래대금': int, '시가총액': int,
}).set_index('종목코드')
return df
get_etf_item_list()