> 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

+ Recent posts