본문 바로가기
R 주제/크롤링

[R 크롤링] 5. html 추출 연속 적용하기

by 만다린망고 2020. 7. 29.
반응형

 

 

지난 시간에 멜론 차트를 크롤링한 코드를 봅시다.

 

#라이브러리 불러오기

library(httr)

library(rvest)

 

#GET 함수로 서버에 정보 요청하기

url = 'https://www.melon.com/chart/'

get_url = GET(url)

 

#read_html 함수로 html 코드 읽기

my_html=read_html(get_url,encoding='utf-8')

 

#ellipsis rank01 클래스만 추출

pick1=html_nodes(my_html,'.ellipsis.rank01')

#a 태그만 추출

pick2=html_nodes(pick1,'a')

#텍스트 추출

pick3=html_text(pick2)

 

테크를 추출하는 부분을 보면, 테그추출 함수를 적용할 때마다 새로운 변수에 저장을 해주어야 했습니다. 만약 태그 추출 함수를 더 많이 사용해야한다면, 코드가 계속 늘어날 것입니다. 

 

이런 경우 태그추출을 연속사용하는 편한 방법이 있습니다. %>% 연산자를 이용하는 것입니다. 이 연산자는 dplyr 패키지에서 제공합니다. 

 

위 코드는 아래와 같이 바뀝니다. 

 

pick1=my_html %>% html_nodes('.ellipsis.rank01') %>% html_nodes('a') %>% html_text(trim=TRUE)

 

%>% 뒤의 함수를 앞에 적용하는 연산자이고, pipe 연산자라고 부릅니다. 

 

반응형

댓글