DevKim

[Selenium] 간단한 실습 모음- 네이버 금융, SMB 환율 본문

데이터 수집 [ Web crawling ]

[Selenium] 간단한 실습 모음- 네이버 금융, SMB 환율

on_doing 2020. 9. 7. 20:53
728x90

간단하게 네이버 금융 페이지의 삼성전자 시가총액과 주요 뉴스제목 6개를 스크래핑 해보고, SMB 환율 페이지의 원하는 부분의 데이터를 스크래핑해보자.

 

* 지금까지 실습한 코드들을 하나씩 정리해볼 생각이다.

* 이번 코드들은 어렵지 않은 코드들이라 한번에 가져와봤다.

 

1. 네이버 금융 - 삼성전자 시가총액 스크래핑

url : https://finance.naver.com/item/main.nhn?code=005930

 

삼성전자 - 네이버 금융 : 네이버 금융

관심종목의 실시간 주가를 가장 빠르게 확인하는 곳

finance.naver.com

from selenium import webdriver

driver = webdriver.Chrome('chromedriver.exe')
type(driver)

driver.get('https://finance.naver.com/item/main.nhn?code=005930')

result=driver.find_element_by_css_selector('#tab_con1 > div.first > table > tbody > tr.strong > td')
print(result.text)

 

2. 네이버 금융 주요 뉴스제목 6개 스크래핑하기

url: https://finance.naver.com/

from selenium import webdriver

driver = webdriver.Chrome('chromedriver.exe')
type(driver)

driver.get('https://finance.naver.com/')

result=driver.find_elements_by_css_selector('#content > div.article > div.section > div.news_area > div > ul span > a')

for title in result:
    print(title.text)

* find_elements_by_css_selector 태그는 list 형태로 저장되니 for 문을 이용하여 하나씩 가져와 text만 출력해주었다.

 

3. SMB 환율 사이트에서 왼쪽에 위치한 국가

(유로 ~ 체코)까지의 환율 정보만 가져와보자

 

from selenium import webdriver

driver = webdriver.Chrome('chromedriver.exe')
type(driver)

driver.get('http://www.smbs.biz/ExRate/TodayExRate.jsp')
print(driver.find_element_by_css_selector("#map > p.nation5").text)
print(driver.find_element_by_css_selector("#map > p.nation2").text)
print(driver.find_element_by_css_selector("#map > p.nation6").text)
print(driver.find_element_by_css_selector("#map > p.nation").text)
print(driver.find_element_by_css_selector("#map > p.nation4").text)
print(driver.find_element_by_css_selector("#map > p.nation3").text)
print(driver.find_element_by_css_selector("#map > p.nation35").text)
print(driver.find_element_by_css_selector("#map > p.nation36").text)
print(driver.find_element_by_css_selector("#map > p.nation37").text)
print(driver.find_element_by_css_selector("#map > p.nation38").text)

*태그가 왼쪽에서 위쪽부터 p.nation1 .. 이런식으로 순서대로 되어있지 않아서 일일이 찾아서 스크래핑 해주어야한다

728x90
Comments