안녕하세요! 오늘은 Python을 이용해 실시간 환율 정보를 자동으로 가져오는 방법을 소개하겠습니다.
네이버 금융의 환율 정보를 스크래핑하여 특정 통화의 환율 데이터를 출력하거나 반환하는 과정을 다뤄보겠습니다.
이 글은 Python 입문자부터 환율 데이터를 활용하려는 사용자까지 모두에게 유용할 것입니다.
1. 환율 데이터 제공 사이트: 네이버 금융
실시간 환율 정보를 제공하는 네이버 금융의 환율 페이지를 활용합니다.
아래 링크를 통해 환율 데이터를 확인할 수 있습니다.
https://finance.naver.com/marketindex/exchangeList.naver
네이버페이 증권
finance.naver.com
2. Python 환경 설정
웹에서 데이터를 가져오기 위해 requests와 BeautifulSoup 라이브러리를 사용합니다.
두 라이브러리는 웹 스크래핑에 필수적인 도구입니다.
필요한 라이브러리 설치
먼저, 아래 명령어로 라이브러리를 설치하세요.
- 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 프로젝트 가이드를 보고 싶다면 구독도 잊지 마세요! 😊

'프로그래밍 > 코딩 TIP' 카테고리의 다른 글
네이버 메일 EML 파일 다운로드 후 HTML 변환 및 PDF 생성하는 방법 (1) | 2024.12.13 |
---|---|
Firebase 대안? Pushy로 간편한 푸시 알림 만들기 (0) | 2022.02.12 |