Rvest-UseMethod(“读取xml”)中的错误:没有适用于';读取xml';适用于“类”的对象;“因素”;
我正在使用以下rvest代码: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
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