본문 바로가기
프로그래밍/코딩 TIP

Python으로 실시간 환율 정보 가져오기: 네이버 금융 활용법

by 제리토리 2022. 3. 4.
728x90
반응형
안녕하세요! 오늘은 Python을 이용해 실시간 환율 정보를 자동으로 가져오는 방법을 소개하겠습니다.

네이버 금융의 환율 정보를 스크래핑하여 특정 통화의 환율 데이터를 출력하거나 반환하는 과정을 다뤄보겠습니다.

이 글은 Python 입문자부터 환율 데이터를 활용하려는 사용자까지 모두에게 유용할 것입니다.

 

 

1. 환율 데이터 제공 사이트: 네이버 금융

 

실시간 환율 정보를 제공하는 네이버 금융의 환율 페이지를 활용합니다.

아래 링크를 통해 환율 데이터를 확인할 수 있습니다.

https://finance.naver.com/marketindex/exchangeList.naver

 

네이버페이 증권

 

finance.naver.com

 

 

2. Python 환경 설정

 

웹에서 데이터를 가져오기 위해 requestsBeautifulSoup 라이브러리를 사용합니다.

두 라이브러리는 웹 스크래핑에 필수적인 도구입니다.

 

필요한 라이브러리 설치

 

먼저, 아래 명령어로 라이브러리를 설치하세요.

- pip install requests beautifulsoup4

 

 

위 페이지는 환율을 실시간으로 받아올 수 있는 페이지다. 여기에 정보를 확인한 다음 아래 코딩을 진행해보겠다. 

페이지 확인결과 정상적으로 환율정보가 들어있다.

 

https://mocamelon.tistory.com/90?category=1039019 

 

시놀로지 DS220+ NAS에서 Python 코딩하기(jupyter-notebook)

최근에 시놀로지 DS220+ 를 구입해서 어떻게 하면 Python을 어디에서나 코딩을 할 수 있는지 고민했다 그렇게 검색질 돌입하여 여기저기 흩어져 있는 내용을 나의 기준으로 작성해 보았다. 그럼 시

mocamelon.tistory.com

내사이트에 Jupyter-notebook을 설정한 것처럼 나스에 설치된 쥬피터를 이용하여 아래의 코딩을 진행해보겠다.

 

 

3. Python으로 환율 정보 가져오기

 

다음은 특정 통화의 환율 정보를 가져오는 Python 함수 코드입니다.

 

import requests
import bs4 import BeautifulSoup

# 환율정보확인 : 0->현재가격확인 , 1->현재가격리턴
def exchange_info(currency, option):
	res = requests.get('https://finance.naver.com/marketindex/exchangeList.naver')
    soup = BeautifulSoup(res.content, 'html.parser')
    items = soup.select('bocy > div > table > tbody > tr')
    
    for item in items:
    	# \n \t를 제거하여 환율 이름만 잘라내는 부분
        name = item.select('td')[0].text.replace("\n", "")
        name = name.replace("\t", "")
        full_name = name.split(' ')
        
        # 남아프리카 공화국 만 조금 다르기 때문에 구분해줘야된다.
        if (full_name[1] == "공화국") and (currency == "ZAR"):
        	company = full_name[0] + full_name[1]
            exc_ticker = full_name[2]
        else:
        	company = full_name[0]		# 나라이름
            exc_ticker = full_name[1]	# 환율단위
            
        price = item.select('td')[1].text	# 환율가격
        
        if (exc_ticker == currency):
        	if (option == 0):
            	print(company + "(" + exc_ticker ") : " + price)
            elif (option == 1):
            	return price

 

 

4. 함수 사용법

 

1) 환율 정보 출력

 

아래 코드로 미국 달러(USD)의 환율 정보를 출력합니다.

 

 

위처럼 함수로 만들어서 작성하여 아래처럼 exchange_info("USD", 0) 이렇게 하면 환율이 나타난다. 

주피터 노트북 사용

 

2) 환율 정보 반환

 

환율 값을 변수로 활용하려면 option=1로 설정하세요.

usd_rate = exchange_info("USD", 1)
print(f"현재 USD 환율은 {usd_rate}입니다.")

 

 

5. 주의사항

 

1. 환율 업데이트 주기

네이버 금융의 환율 정보는 실시간으로 업데이트됩니다.

너무 잦은 요청은 서버 부하를 유발할 수 있으니 적절한 빈도를 설정하세요.

 

2. 통화 코드

함수의 currency 매개변수에 원하는 통화 코드를 입력하면 해당 환율 정보를 가져올 수 있습니다.

예: exchange_info("EUR", 0) → 유로(EUR) 환율 정보 출력.

 

 

이 포스팅이 유용했다면 공감(♥)과 댓글 부탁드립니다! 더 많은 Python 프로젝트 가이드를 보고 싶다면 구독도 잊지 마세요! 😊

 

 

728x90
반응형