3

rvestR を使用した Web スクレイピングを学習するために実験を行っています。ページの他のいくつかのセクションで Lego の例を複製し、 selector gadgetto id を使用しようとしています。

R Studio tutorialから例を引き出しました。以下のコードでは、1 と 2 は機能しますが、3 は機能しません。

library(rvest)
lego_movie <- html("http://www.imdb.com/title/tt1490017/")

# 1 - Get rating
lego_movie %>% 
  html_node("strong span") %>%
  html_text() %>%
  as.numeric()

# 2 - Grab actor names
lego_movie %>%
  html_nodes("#titleCast .itemprop span") %>%
  html_text()

# 3 - Get Meta Score 
lego_movie %>% 
  html_node(".star-box-details a:nth-child(4)") %>%
  html_text() %>%
  as.numeric()
4

2 に答える 2

4

私はすべてのパイプと関連するコードの速度に追いついていないので、おそらくこれを行うための新しいツールがいくつかあります...しかし、上記の答えが"83/100".

as.numeric(unlist(strsplit("83/100", "/")))[1]
[1] 83

パイプを使用すると、次のようになります。

lego_movie %>% 
  html_node(".star-box-details a:nth-child(4)") %>%
  html_text(trim=TRUE) %>%
  strsplit(., "/") %>%
  unlist(.) %>%
  as.numeric(.) %>% 
  head(., 1)

[1] 83

"83/100"または、フランクが示唆したように、式を次のように評価できます。

lego_movie %>% 
  html_node(".star-box-details a:nth-child(4)") %>%
  html_text(trim=TRUE) %>%
  parse(text = .) %>%
  eval(.)
[1] 0.83
于 2015-06-20T14:47:09.870 に答える