2017-05-26 173 views
0

我正在抓取IMDb,並且希望僅通過一種流派對電影進行分類,但它們會返回多個。如何返回與變量中給定字符串匹配的字符串

我該如何讓它只返回我指定的流派?

IMBD_Movies <- html_session("http://www.imdb.com/chart/top") 

movieTitles <- IMBD_Movies %>% 
html_nodes(".titleColumn a")%>% 
html_text()%>%head(5) 

genres <- c("Adventure", "Action", "Comedy", "Drama", "Horror") 

IMBD_genres <- list() 

for(i in movieTitles){ 
    genrePage <- IMBD_Movies %>% follow_link(i) 
    IMBD_genres[[i]]$genre <- genrePage%>% 
    html_nodes(".subtext .itemprop") %>% html_text() 
} 

肖申克救贖返回「犯罪」和「戲劇」,但我只想要「戲劇」返回。

回答

2

我假設你只想要輸出那些流派,你已經聲明的流派向量中提到過。

添加的最後一行到你的for循環給我的結果:

for(i in movieTitles){ 
    genrePage <- IMBD_Movies %>% 
       follow_link(i) 
    IMBD_genres[[i]]$genre <- genrePage %>% 
          html_nodes(".subtext .itemprop") %>% 
          html_text() 
    IMBD_genres[[i]]$genre <- IMBD_genres[[i]]$genre[which(IMBD_genres[[i]]$genre 
          %in% genres)] 
    } 

的「這」給你所需要的指數在IMBD_genres [我] $流派。

希望有所幫助。

+0

就是這樣!謝謝! – user3656280

相關問題