반응형
지난 시간에 멜론 차트를 크롤링한 코드를 봅시다.
#라이브러리 불러오기
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 연산자라고 부릅니다.
반응형
'R 주제 > 크롤링' 카테고리의 다른 글
[R 크롤링] 7. 멜론차트에서 가수 이름도 출력 (2) | 2021.03.24 |
---|---|
[R 크롤링] 6. 크롤링 예제3 (네이버 역대 영화 평점 순) (0) | 2020.07.31 |
[R 크롤링] 4. 크롤링 예제2 (멜론 차트 순위) (0) | 2020.07.27 |
[R 크롤링] 3. 크롤링 예제1 (교보문고 주간 베스트셀러) (2) | 2020.07.27 |
[R 크롤링] 2. 웹페이지의 html 소스코드 보는 법 (0) | 2020.07.25 |
댓글