Rvest错误:类型';外部PTR';

Rvest错误:类型';外部PTR';,r,rvest,R,Rvest,我正在尝试使用rvest提取PGA高尔夫球手的出生日期。让我们试试斯图尔特·阿普比。这是他在ESPN网站上的个人资料。注意他头像旁边的DOB library("rvest") url <- "http://espn.go.com/golf/player/_/id/11/stuart-appleby" li_node <- url %>% html %>% html_nodes("li") 显示我想要的信息,但类似于: word(li_node[[22]], ...) s

我正在尝试使用
rvest
提取PGA高尔夫球手的出生日期。让我们试试斯图尔特·阿普比。这是他在ESPN网站上的个人资料。注意他头像旁边的DOB

library("rvest")
url <- "http://espn.go.com/golf/player/_/id/11/stuart-appleby"
li_node <- url %>% html %>% html_nodes("li")
显示我想要的信息,但类似于:

word(li_node[[22]], ...)
substr(li_node[[22]], ...)
pluck(li_node, 22)
全部返回一个错误:

> 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?

非常好。现在提取“1971年5月1日”第一部分可以做的事情:
dob%html%>%html\u节点(xpath='//li[contains(,“Age”)]%>%html\u text()substr(dob,11,nchar(dob)-10)
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}")
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}")
[1] "May 1, 1971"