Rvest-UseMethod(“读取xml”)中的错误:没有适用于';读取xml';适用于“类”的对象;“因素”;

Rvest-UseMethod(“读取xml”)中的错误:没有适用于';读取xml';适用于“类”的对象;“因素”;,r,rvest,R,Rvest,我正在使用以下rvest代码: library(rvest) URL <- "http://www.soccerstats.com/matches.asp" #Feed page WS <- read_html (URL) #reads webpage into WS variable URLs <- WS %>% html_nodes ("a:nth-child(1)") %>% html_attr("href") %>% as.cha

我正在使用以下rvest代码:

library(rvest)

URL <- "http://www.soccerstats.com/matches.asp" #Feed page

WS <- read_html (URL) #reads webpage into WS variable

URLs <- WS %>% html_nodes ("a:nth-child(1)") %>% html_attr("href")         %>% as.character() # Get the CSS nodes & extract the URLs 

URLs <- paste0("http://www.soccerstats.com/",URLs) 

grepl("pmatch", oversdf$URLs)

URLs <-subset(oversdf, grepl("pmatch", oversdf$URLs),stringsAsFactors       =       FALSE)

Catcher1 <- data.frame(FMatch=character(),TotalGoals=character    (),stringsAsFactors = FALSE)

#Start of for loop

for (i in URLs) {

WS1 <- read_html(i)
FMatch <- WS1 %>% html_nodes("H1") %>% html_text() %>% as.character()
TotalGoals <- WS1 %>% html_nodes(".trow3+ .trow2 td~ td+ td font b") %>%     html_text() %>% as.character()
temp <- data.frame(FMatch,TotalGoals)
Catcher1 <- rbind(Catcher1,temp)
cat("*")

}
库(rvest)
URL%as.character()#获取CSS节点并提取URL
URL%as.character()

temp基本上,问题在于在每个循环中设置HTML环境。为了解决这个问题,我在每个循环的开头使用了
html\u session()
,并将其提供给
html\u节点()


基本上,问题在于在每个循环中设置HTML环境。为了解决这个问题,我在每个循环的开头使用了
html\u session()
,并将其提供给
html\u节点()


事实上,我看到这两种方法都起作用了,做了一些调整。第一个问题是,在初始代码[html_节点(“H1”)]中,指示了“H1”而不是真正的“H1”。因此,必须纠正这一点

第二个问题与错误的“URL”类型有关。即,它具有以下特性:

> typeof(URLs)
[1] "list"
> length(URLs)
[1] 1
同时,我希望它是:

> typeof(URLs)
[1] "character"
> length(URLs)
[1] 10 #or some other number
因此,我采取了以下解决方法:

n<-nrow(URLs)
URLs2<-character()
for (i in 1:n) {
  URLs2[i]<-as.character(URLs[i,1])
}

事实上,我看到这两种方法都起作用了,做了一些调整。第一个问题是,在初始代码[html_节点(“H1”)]中,指示了“H1”而不是真正的“H1”。因此,必须纠正这一点

第二个问题与错误的“URL”类型有关。即,它具有以下特性:

> typeof(URLs)
[1] "list"
> length(URLs)
[1] 1
同时,我希望它是:

> typeof(URLs)
[1] "character"
> length(URLs)
[1] 10 #or some other number
因此,我采取了以下解决方法:

n<-nrow(URLs)
URLs2<-character()
for (i in 1:n) {
  URLs2[i]<-as.character(URLs[i,1])
}

有人有什么想法吗?嗨@anotherfred,你不知道上面的错误吗?有人有什么想法吗?嗨@anotherfred,你不知道上面的错误吗?
> Catcher1
                               FMatch TotalGoals
1      Dep. Espanol vs Comunicaciones       2.22
2          San Martín B. vs Ituzaingó       1.77
3      Leandro N. Alem vs Def. Unidos       2.03
4     Dep. Laferre vs Central Córdoba       2.44
5     J.J. Urquiza vs Sport. Italiano       2.53
6       Excursionistas vs Berazategui       2.56
7                 Dock Sud vs Midland       1.74
8               Dep. Armenio vs Luján       1.47
#and so on