> library(httr) #웹 페이지 가져오는데 필요한 패키지
> web<-GET("https://ridibooks.com/bestsellers/general?order=monthly")
>
> #XML 패키지의 htmlParse 함수로 해당 html 을 변환
> library(XML)
> web<-htmlParse(web)
>
> #xpathSApply(저장된 html 문서, 원하는 요소의 XPath, xmlValue)
> xpathSApply(web, '//*[@id="page_best"]/div[2]/div[2]/div[2]/h3/a/span', xmlValue)
[1] " \n \n 봉제인형 살인사건\n "
>
> #\n과 공백 제거
> x<-xpathSApply(web, '//*[@id="page_best"]/div[2]/div[2]/div[2]/h3/a/span', xmlValue)
> x<-gsub("\n", "", x) #\n 지우기
> x<-gsub(" ", "", x) #공백 지우기
> x
[1] "봉제인형 살인사건"
>
> #xpath 나누기
> xpath1 = '//*[@id="page_best"]/div[2]/div['
> xpath2 = ']/div[2]/h3/a/span'
>
> xpath = paste0(xpath1, i, xpath2) #paste0 공백없이 묶음
> xpath
[1] "//*[@id=\"page_best\"]/div[2]/div[10]/div[2]/h3/a/span"
>
> title = c()
>
> for(i in 1:10){
+ xpath = paste0(xpath1, i+1, xpath2) #바뀌는 숫자가 2부터 시작하므로
+ x = xpathSApply(web, xpath, xmlValue)
+ x = gsub("\n", "", x)
+ x = gsub(" ", "", x)
+ title[i] = x
+ }
>
> title
[1] "봉제인형 살인사건"
[2] "우울할 땐 뇌과학"
[3] "마당이 있는 집"
[4] "로버트 그린 권력술 시리즈 세트"
[5] "북유럽신화"
[6] "82년생 김지영"
[7] "모든 순간이 너였다"
[8] "나미야 잡화점의 기적"
[9] "혼자 하는 공부의 정석"
[10] "만만하게 보이지 않는 대화법"
출처 : http://lightblog.tistory.com/161
'programing > R studio' 카테고리의 다른 글
아르 r - help, example, demo (0) | 2018.05.21 |
---|---|
r paste()와 paste0() 함수 (0) | 2018.05.17 |
tm 패키지 (0) | 2018.05.17 |
stringr 패키지 - str_detect 함수 (0) | 2018.05.17 |
stopwords(불용어) (0) | 2018.05.17 |