目前,我正在此站点上抓取图表图表信息。要抓取信息,我需要为有很多镜头的情况做一个for循环。我可以通过单击“ Team Stats”并找到射门次数来找到射门次数。
我想做出适当的选择for loop而不必找出拍摄数量。
for loop
我目前正在做什么:
shotchart <- data.frame(shot=as.vector(0), class=as.vector(0), data_homeaway=as.vector(0), data_period=as.vector(0), player_id=as.vector(0), data_text=as.vector(0), location=as.vector(0), gamenumber= as.vector(0)) for (i in 1:54) { text <-paste0("//*[(@class='shots home-team')]//*[(@id)][",i,"]") shotchart[nrow(shotchart)+1,1]<- unlist(re$findElement(using='xpath',text)$getElementAttribute('id')) shotchart[nrow(shotchart),2]<- unlist(re$findElement(using='xpath', text)$getElementAttribute('class')) shotchart[nrow(shotchart),3]<-unlist(re$findElement(using='xpath', text)$getElementAttribute('data-homeaway')) shotchart[nrow(shotchart),4]<-unlist(re$findElement(using='xpath', text)$getElementAttribute('data-period')) shotchart[nrow(shotchart),5]<-unlist(re$findElement(using='xpath', text)$getElementAttribute('data-shooter')) shotchart[nrow(shotchart),6]<-unlist(re$findElement(using='xpath', text)$getElementAttribute('data-text')) shotchart[nrow(shotchart),7]<-unlist(re$findElement(using='xpath', text)$getElementAttribute('style')) shotchart[nrow(shotchart),8]<-k-1 }
任何帮助将不胜感激。请让我知道是否需要进一步的信息。
library(RSelenium) checkForServer() startServer() Sys.sleep(5) re<-remoteDriver() re$open() re$navigate("http://espn.go.com/mens-college-basketball/playbyplay?gameId=400830392") shotchart <- data.frame(shot=as.vector(0), class=as.vector(0), data_homeaway=as.vector(0), data_period=as.vector(0), player_id=as.vector(0), data_text=as.vector(0), location=as.vector(0), gamenumber= as.vector(0)) error="Error : \t Summary: NoSuchElement\n \t Detail: An element could not be located on the page using the given search parameters.\n \t class: org.openqa.selenium.NoSuchElementException\n" i<-1 element=0 while ((i>0)&(element[1]!=error)) { text <-paste0("//*[(@class='shots home-team')]//*[(@id)][",i,"]") element<- try(unlist(re$findElement(using='xpath', text)$getElementAttribute('id')),silent = TRUE) if (element[1]==error) break; shotchart[nrow(shotchart)+1,1]<- unlist(re$findElement(using='xpath',text)$getElementAttribute('id')) shotchart[nrow(shotchart),2]<- unlist(re$findElement(using='xpath', text)$getElementAttribute('class')) shotchart[nrow(shotchart),3]<-unlist(re$findElement(using='xpath', text)$getElementAttribute('data-homeaway')) shotchart[nrow(shotchart),4]<-unlist(re$findElement(using='xpath', text)$getElementAttribute('data-period')) shotchart[nrow(shotchart),5]<-unlist(re$findElement(using='xpath', text)$getElementAttribute('data-shooter')) shotchart[nrow(shotchart),6]<-unlist(re$findElement(using='xpath', text)$getElementAttribute('data-text')) shotchart[nrow(shotchart),7]<-unlist(re$findElement(using='xpath', text)$getElementAttribute('style')) shotchart[nrow(shotchart),8]<-i-1 i<-i+1 }
我不确定您的变量k是什么意思。
我从所有评论中获得了建议。