프로그래밍/코딩 TIP

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

제리토리 2022. 3. 4. 13:55
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
반응형