Rvest error: type 'externalptr'
Rvest error: type 'externalptr'
我正在尝试使用 rvest
提取 PGA 高尔夫球手的出生日期。让我们试试 Stuart Appleby。这是他在 ESPN 网站上的个人资料 http://espn.go.com/golf/player/_/id/11/stuart-appleby。注意他的爆头旁边的出生日期。
library("rvest")
url <- "http://espn.go.com/golf/player/_/id/11/stuart-appleby"
li_node <- url %>% html %>% html_nodes("li")
他的出生日期包含在 li_node 的第 22 项中。理想情况下,我不会将 [[22]] 硬编码到我的程序中,但即使我这样做了,我也会 运行 出错。
li_node[[22]]
显示我想要的信息,但类似:
word(li_node[[22]], ...)
substr(li_node[[22]], ...)
pluck(li_node, 22)
所有return一个错误:
> word(li_node[[22]], 1)
Error in rep(string, length = n) :
attempt to replicate an object of type 'externalptr'
> substr(li_node[[22]], 1, 2)
Error in as.vector(x, "character") :
cannot coerce type 'externalptr' to vector of type 'character'
> pluck(li_node, 22)
Error in FUN(X[[1L]], ...) :
object of type 'externalptr' is not subsettable
有没有一种简单的方法可以让我使用 rvest
获取 DOB?
library("rvest")
library("stringr")
url <- "http://espn.go.com/golf/player/_/id/11/stuart-appleby"
url %>%
html %>%
html_nodes(xpath='//li[contains(.,"Age")]') %>%
html_text() %>%
str_extract("[A-Z][a-z]{2,} [0-9]{1,2}, [0-9]{4}")
returns:
[1] "May 1, 1971"
我正在尝试使用 rvest
提取 PGA 高尔夫球手的出生日期。让我们试试 Stuart Appleby。这是他在 ESPN 网站上的个人资料 http://espn.go.com/golf/player/_/id/11/stuart-appleby。注意他的爆头旁边的出生日期。
library("rvest")
url <- "http://espn.go.com/golf/player/_/id/11/stuart-appleby"
li_node <- url %>% html %>% html_nodes("li")
他的出生日期包含在 li_node 的第 22 项中。理想情况下,我不会将 [[22]] 硬编码到我的程序中,但即使我这样做了,我也会 运行 出错。
li_node[[22]]
显示我想要的信息,但类似:
word(li_node[[22]], ...)
substr(li_node[[22]], ...)
pluck(li_node, 22)
所有return一个错误:
> word(li_node[[22]], 1)
Error in rep(string, length = n) :
attempt to replicate an object of type 'externalptr'
> substr(li_node[[22]], 1, 2)
Error in as.vector(x, "character") :
cannot coerce type 'externalptr' to vector of type 'character'
> pluck(li_node, 22)
Error in FUN(X[[1L]], ...) :
object of type 'externalptr' is not subsettable
有没有一种简单的方法可以让我使用 rvest
获取 DOB?
library("rvest")
library("stringr")
url <- "http://espn.go.com/golf/player/_/id/11/stuart-appleby"
url %>%
html %>%
html_nodes(xpath='//li[contains(.,"Age")]') %>%
html_text() %>%
str_extract("[A-Z][a-z]{2,} [0-9]{1,2}, [0-9]{4}")
returns:
[1] "May 1, 1971"