rvest 패키지를 이용한 웹 크롤링 방법

먼저 패키지를 설치합니다

install.packages("rvest")
library(rvest)

 

 

 

가져오고 싶은 부분에서 오른쪽 클릭 후 검사를 눌러보면 쉽게 구조를 알 수 있는데요

스포츠 뉴스에서 한번 가져와보겠습니다.

링크는 https://sports.news.naver.com/index.nhn 요기입니다.

 

 

 

 

제목 아무거나 하나 눌러서 검사 버튼을 눌러보면

<div class="title">아래에 제목이 들어있는 것을 알 수 있습니다

이제 R을 이용해서 가져와보겠습니다.

 

 

 

url_news='https://sports.news.naver.com/index.nhn'
html_news=read_html(url_news,encoding='UTF-8')

url_news에 링크를 저장하고 rvest 패키지의 함수 read_html을 이용해 읽습니다
UTF-8은 인코딩 방식을 의미합니다

 

 

 

title=html_news %>% html_nodes(".title") %>% html_text()

html_nodeshtml_text를 이용해 title에 내용을 저장합니다.

 

 

 

파이프 연산자를 사용하지 않고

a=html_nodes(html_news,".title")
title=html_text(a)

이렇게 할 수도 있습니다

여기서 .title는 아까 위에서 확인한 구조인데, 여기 있는 것을 가져오라는 의미입니다.

 

 

 

저장한 내용을 실행시켜보면

> head(title)
  [1] "\n\t\t\t\t\n\t\t\t\t‘김국찬 3점 7방 폭발’ 현대모비스, DB 꺾고 2연패 탈출\n\t\t\t\t점프볼\n\t\t\t"                                                                                            
  [2] "\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t훈련 멈추고 호통 친 아르테타, 라카제트는..\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t베스트일레븐\n\t\t\t\t\t\t"
  [3] "\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\"류현진 영입 토론토에 테임즈 선물\"  M..\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t스포티비뉴스\n\t\t\t\t\t\t" 
  [4] "\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t'조용한 미국 언론' 김재환 포스팅, 끝까..\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t스포츠조선\n\t\t\t\t\t\t"    
  [5] "\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t'비디디' 곽보성, \"깔끔한 경기, 기분 ..\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tOSEN\n\t\t\t\t\t\t"           
  [6] "1‘일본에 푹 빠진’ 푸이그, “후지산 높이보다 더 흥분돼”"                            

 

 

 

필요 없는 문자들이 섞여있는데 gsub 함수를 이용해 처리할 수 있습니다

title <- gsub('\n|\t','',title)

\n과 \t를 제거합니다.

 

 

 

> head(title)
[1] "‘김국찬 3점 7방 폭발’ 현대모비스, DB 꺾고 2연패 탈출점프볼"
[2] "\"류현진 영입 토론토에 테임즈 선물\"  M..스포티비뉴스"       
[3] "훈련 멈추고 호통 친 아르테타, 라카제트는..베스트일레븐"      
[4] "'조용한 미국 언론' 김재환 포스팅, 끝까..스포츠조선"          
[5] "'비디디' 곽보성, \"깔끔한 경기, 기분 ..OSEN"                 
[6] "1‘일본에 푹 빠진’ 푸이그, “후지산 높이보다 더 흥분돼”"                                

깔끔해졌습니다

 

 

-끝-

'R' 카테고리의 다른 글

R을 이용한 웹 크롤링2 (표 가져오기)  (6) 2020.01.06

+ Recent posts