728x90
쓰던 글이 지워졌...다....
< 공공데이터 포털에서 Open-API 승인받기 >
1. 공공데이터 포털에 로그인, 접속
2. 원하는 API 검색
3. 활용 신청 클릭
4. 원하는 서비스 기능 클릭 후, 라이센스 등록
5. 개발계정에 API 사용 등록!
< 공공데이터 포털 Open-API 이용하기 >
1. 여기까지 했다면 이제 공공데이터 포털의 open-api를 이용할 수 있다. 먼저 개발계정으로 들어가서 인증키 받기를 클릭한다.
2. 인증키는 이후에 사용하므로 저장해둔다.
3. 사용등록한 API에 접속하면 다음과 같이 요청변수에 원하는 데이터를 담아 보내면 여러가지 형식으로 데이터를 리턴받는 것을 테스트해 볼 수 있다. 필자의 경우는 샘플데이터에 삼성전자와 관련된 데이터를 담았다.
4. 이후 미리보기를 클릭하면 다음과 같은 정보를 확인할 수 있다. 참고로 사파리 브라우저는 에러가 발생했다. 크롬은 정상적인 통신이 되는것을 확인했으므로, 크롬 브라우저를 사용하기 바란다.
5. 다음과 같은 코드를 이용하면 api에 원하는 파라미터를 담은 URL을 만들 수 있다. 이를 request 라이브러리를 통해 통신후, 원하는 포맷으로 받아온 정보를 저장할 수 있다.
def get_corp_code(self, name=None):
"""
한국예탁결제원에서 제공하는 기업코드를 회사명칭으로 검색합니다.
:param name:str 회사명칭 ex) 삼성전자, 삼성 등
:return result:dict 회사코드와 명칭을 반환합니다.
"""
query_params = {"serviceKey":self.api_key,
"issucoNm": name,
"numOfRows": str(5000)}
request_url =self.CORP_CODE_URL+"?"
for k, v in query_params.items():
request_url = request_url + k + "=" + v +"&"
print(request_url)
res = requests.get(request_url[:-1])
root = ET.fromstring(res.text)
from_tags = root.iter("items")
result = {}
for items in from_tags:
for item in items.iter('item'):
if name in item.find('issucoNm').text.split():
result["issucoCustno"] = item.find('issucoCustno').text
result["issucoNm"] = item.find('issucoNm').text
return result
6. API 호출 결과 화면
728x90
'[금융] > [Quant]' 카테고리의 다른 글
[Quant] 데이터 마켓 (Quandl) (0) | 2020.05.08 |
---|---|
[Quant] 기술통계학(요약 통계량) (0) | 2020.02.27 |
[Quant] 들어가며... conda 가상환경 만들기. (0) | 2020.01.08 |