Appia의 IT세상

[파이썬 크롤링] 네이버 금융 환전고시 환율 정보 출력하는 방법 본문

Python/Python Crawler[크롤러]

[파이썬 크롤링] 네이버 금융 환전고시 환율 정보 출력하는 방법

Appia 2021. 10. 7. 06:50
반응형

[파이썬 크롤링] 네이버 금융 환전고시 환율 정보 출력하는 방법

[파이썬 크롤링] 네이버 금융 환전고시 환율 정보 출력하는 방법

이번 포스팅은 네이버금융에서 제공하는 환전 고시 환율을 추출하는 방법에 대해서 이야기를 해보고자 합니다. 먼저, 추출하고자 하는 페이지의 정보를 보니, 다음 부분입니다. 

https://finance.naver.com/marketindex/?tabSel=exchange#tab_section 

 

https://finance.naver.com/marketindex/?tabSel=exchange#tab_section

환전 고시 환율 2021.10.01 20:03 하나은행 기준 고시회차 289회

finance.naver.com

위에 페이지를 열어서, 밑으로 크롤링 하면 다음과 같은 화면이 나타납니다. 제가 추출하고 출력하고자 하는 부분은 빨간색 부분으로 표시된 부분입니다. 

네이버금융에서 제공하는 환전 고시 환율 페이지 

이 부분을 개발자 모드로 열어보겠습니다. 개발자 도구를 실행하는 방법은 다음 링크를 참조하여 실행하시길 바랍니다. 

[윈도우10 Windows10] 크롬(Chrome)에서 웹페이지 항목 HTML에서 확인하기

 

[윈도우10 Windows10] 크롬(Chrome)에서 웹페이지 항목 HTML에서 확인하기

[윈도우10 Windows10] 크롬(Chrome)에서 웹페이지 항목 HTML에서 확인하기 이전 포스팅에서는 개발자 도구를 통해서 HTML에 부분이 웹페이지에 어떤 부분을 표시하는 지에 대해서 확인한 적이 있습

appia.tistory.com

그럼 다음과 같은 부분을 확인할 수 있습니다. 

네이버금융에서 제공하는 환전 고시 환율 페이지 - 개발자 도구 활성화 

위의 화면에서 관련된 부분들을 추출해보도록 하겠습니다. 실제, 위의 페이지에서 <iframe>을 바탕으로 참조하는 형태로 이루어집니다. 따라서, 관련해서는 해당 페이지를 읽어와야합니다. 관련해서는 다음 링크를 참조하시는 것도 이해하시는 데에 도움이 되실 것 같습니다. 

[파이썬 크롤링] Beautiful Soup에서 #document 부분에 대해서 크롤링 하는 방법

그럼 위의 부분을 바탕으로 전체 코드를 작성해보도록 하겠습니다. 

import requests
from bs4 import BeautifulSoup

def return_value(address, addition):
    res = requests.get(address +addition)
    soup = BeautifulSoup(res.content, 'html.parser')

    frame = soup.find('iframe', id="frame_ex1")
    frameaddr = address+frame['src'] #frame내의 연결된 주소 확인 

    res1 = requests.get(frameaddr) # frame내의 연결된 주소를 읽어오기 
    frame_soup = BeautifulSoup(res1.content, 'html.parser')
    items = frame_soup.select('body > div > table > tbody > tr')


    for item in items:
        name = item.select('td')[0].text.replace("\n","")
        name = name.replace("\t", "")
        print(name + "\t" + item.select('td')[1].text)
        
baseaddress = 'https://finance.naver.com'
info = '/marketindex/?tabSel=exchange#tab_section'
return_value(baseaddress, info)

 

실제 위에서 baseaddress를 바탕으로, 연결된 부분을 조합하여 다시 읽어오는 형태로 코드를 작성하였습니다. 그럼 결과를 한번 살펴보도록 하겠습니다. 

미국 USD	1,187.00
유럽연합 EUR	1,375.26
일본 JPY (100엔)	1,067.78
중국 CNY	184.41
홍콩 HKD	152.46
대만 TWD	42.63
영국 GBP	1,604.11
오만 OMR	3,083.12
캐나다 CAD	934.42
스위스 CHF	1,273.06
스웨덴 SEK	135.34
호주 AUD	859.27
뉴질랜드 NZD	819.98
체코 CZK	54.38
칠레 CLP	1.47
터키 TRY	134.01
몽골 MNT	0.42
이스라엘 ILS	368.40
덴마크 DKK	184.91
노르웨이 NOK	136.62
사우디아라비아 SAR	316.49
쿠웨이트 KWD	3,936.33
바레인 BHD	3,148.54
아랍에미리트 AED	323.16
요르단 JOD	1,674.19
이집트 EGP	75.51
태국 THB	35.30
싱가포르 SGD	874.14
말레이시아 MYR	284.01
인도네시아 IDR 100	8.32
카타르 QAR	326.01
카자흐스탄 KZT	2.78
브루나이 BND	874.14
인도 INR	16.01
파키스탄 PKR	6.95
방글라데시 BDT	13.86
필리핀 PHP	23.46
멕시코 MXN	57.60
브라질 BRL	218.07
베트남 VND 100	5.22
남아프리카 공화국 ZAR	79.00
러시아 RUB	16.23
헝가리 HUF	3.84
폴란드 PLN	299.94

이와 같이 위의 정보를 바탕으로 환율 정보를 추출하였습니다. 

 

[파이썬 크롤링]네이버 주식 시가 총액 코스피,코스닥 항목 엑셀로 추출하기 (종목, 종가)

 

[파이썬 크롤링]네이버 주식 시가 총액 코스피,코스닥 항목 엑셀로 추출하기 (종목, 종가)

[파이썬 크롤링]네이버 주식 시가 총액 코스피,코스닥 항목 엑셀로 추출하기 (종목, 종가) 먼저 앞선, 포스팅에서 코스피, 코스닥 종목에 대해서 종목과 가격에 대해서 출력하는 방법에

appia.tistory.com

이번 포스팅에서는 [파이썬 크롤링] 네이버 금융 환전고시 환율 정보 출력하는 방법라는 주제로 포스팅을 해봤습니다. 혹 관련해서 다양하게 활용할 수 있습니다. 이번 포스팅을 바탕으로 환율 계산기등을 작성할 수 있습니다. 혹 궁금하신 점이나 문의사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 

반응형
Comments