본문 바로가기
IT/Python

[Python] 환율 변환기 샘플 소스

by 초록술 2022. 12. 9.
반응형

환율 변환기 만들기 예제 - Python

 

일본 여행을 앞두고 환율 정보를 계속 찾아보다 간단하게 확인할 수 있는 프로그램을 만들어보자 생각이 들었습니다. 그래서 python으로 엔화(일본) , 원화 변환기를 만들어 보았습니다.

https://kr.investing.com/currencies/jpy-krw 를 를 호출하면 엔 - 원 환율을 확인할 수 있습니다.
이를 호출하여 실시간 환율을 출력할 수 있습니다.
(달러, 원화 환율은 뒷부분을 usd-krw로 변경하면 됩니다.)


Main Code 는 만들면서 배우는 파이썬과 40개의 작품들 도서를 참고하였습니다.
investing.com에서 환율 정보를 긁어 와 1초마다 출력하는 예제입니다.

from bs4 import BeautifulSoup
import cloudscraper
from time import sleep

def get_exchange_rate(target1, target2):
    headers = {
        'User-Agent': 'Mozilla/5.0',
        'Content-Type': 'text/html; charset=utf-8'
    }

    scraper = cloudscraper.create_scraper()
    while 1==1:
        html = scraper.get("https://kr.investing.com/currencies/{}-{}".format(target1, target2)).content
        soup = BeautifulSoup(html, 'html.parser')
        containers = soup.find('span', {'data-test': 'instrument-price-last'})
        print(containers.text)
        sleep(1)
        


get_exchange_rate('jpy', 'krw')


결과>

환율 계산 결과
환율 계산 결과


도서에서 나온 코드에서 사용한 라이브러리인 requests 가 investing.com에 막혀서 크롤링이 안 되는 부분이 있었습니다.
이를 해결하기 위해 라이브러리 'cloudscraper' 를 사용하였습니다.

참고자료: https://pypi.org/project/cloudscraper/

 

cloudscraper

A Python module to bypass Cloudflare's anti-bot page.

pypi.org


감사합니다.

반응형

댓글