[TIL] 22/04/22

진이진이·2022년 4월 22일
0

TIL

목록 보기
1/74
post-thumbnail
post-custom-banner

CRAWLING

크롤링(crawling) 혹은 스크레이핑(scraping)은 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위

Finance url : 환전 고시 환율

****저는 오늘 네이버의 환율 고시 환율 iframe을 크롤링 해보려고 합니다!!****

#IFRAME이란

-HTML Inline Frame 요소이며 inline frame의 약자로 HTML문서 내에서 다른 HTML문서를 보여주고자 할 때 사용됩니다.

네이버의 [환전 고시 환율]은 다른 HTML을 가져오는 것이기 때문에 검사창에서 IFRAME을 찾아서 크롤링을 해주어야 합니다.

IFRAME 만 따온 주소

>이 부분을 사용합니다!

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)

결과는 잘나옵니다🔥

profile
개발 어린이
post-custom-banner

0개의 댓글