크롤링(crawling) 혹은 스크레이핑(scraping)은 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위
****저는 오늘 네이버의 환율 고시 환율 iframe을 크롤링 해보려고 합니다!!****
-HTML Inline Frame 요소이며 inline frame의 약자로 HTML문서 내에서 다른 HTML문서를 보여주고자 할 때 사용됩니다.
네이버의 [환전 고시 환율]은 다른 HTML을 가져오는 것이기 때문에 검사창에서 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)
결과는 잘나옵니다🔥