RSelenium - 将数据存储在数组中
RSelenium - Storing data in an array
我正在从我网站的活动列表中提取活动描述。
每个事件都是一个 href link,它会转到另一个页面,我们可以在其中找到事件的图像和描述。我试图将图像 url 和所有事件的描述存储在一个数组中,所以我在循环结束时使用了下面的代码,但我只得到了图像和最后一个循环事件的描述:
m<-c(images_of_events)
n<-c( description_of_events)
cc<-remDr$findElement(using = "css", "[class = '_24er']")
cc<-remDr$getPageSource()
page_events<-read_html(cc[[1]][1])
links_events_data=html_nodes(page_events,'._24er > table > tbody > tr > td >
div> div._4dmk > a ')
events_urls<-html_attr(links_events_data,"href")
//每个事件的循环
for (i in events_urls) {
remDr$navigate(paste("localhost://www.mywebsite",i,sep=""))
#get image
imagewebElem <- remDr$findElement(using = "class", "scaledImageFitWidth")
images_of_events<-imagewebElem $getElementAttribute("src")
descriptionwebElem <-remDr$findElement(using = "css", "[class = '_63ew']")
descriptionwebElem <-remDr$getPageSource()
page_event_description<-read_html(descriptionwebElem[[1]][1])
events_desc =html_nodes(page_event_description,'._63ew > span')
description_of_events= html_text(events_desc)
m<-c(images_of_events)
n<-c( description_of_events)
}
要将值保存在 R 中的数组中,您必须
1) 创建 array/data.frame dta <- data.frame(m=c(),n=c())
然后保存到其中 dta[i,1] <- image_of_events
和 dta[i,2] <- description_of_evants
其中 i
是数字迭代器
2) 创建 array/data.frame 并使用 rbind
添加值,例如 dta <- rbind(dta, data.frame(m=images_of_events, n = description_of_events))
我正在从我网站的活动列表中提取活动描述。 每个事件都是一个 href link,它会转到另一个页面,我们可以在其中找到事件的图像和描述。我试图将图像 url 和所有事件的描述存储在一个数组中,所以我在循环结束时使用了下面的代码,但我只得到了图像和最后一个循环事件的描述:
m<-c(images_of_events)
n<-c( description_of_events)
cc<-remDr$findElement(using = "css", "[class = '_24er']")
cc<-remDr$getPageSource()
page_events<-read_html(cc[[1]][1])
links_events_data=html_nodes(page_events,'._24er > table > tbody > tr > td >
div> div._4dmk > a ')
events_urls<-html_attr(links_events_data,"href")
//每个事件的循环
for (i in events_urls) {
remDr$navigate(paste("localhost://www.mywebsite",i,sep=""))
#get image
imagewebElem <- remDr$findElement(using = "class", "scaledImageFitWidth")
images_of_events<-imagewebElem $getElementAttribute("src")
descriptionwebElem <-remDr$findElement(using = "css", "[class = '_63ew']")
descriptionwebElem <-remDr$getPageSource()
page_event_description<-read_html(descriptionwebElem[[1]][1])
events_desc =html_nodes(page_event_description,'._63ew > span')
description_of_events= html_text(events_desc)
m<-c(images_of_events)
n<-c( description_of_events)
}
要将值保存在 R 中的数组中,您必须
1) 创建 array/data.frame dta <- data.frame(m=c(),n=c())
然后保存到其中 dta[i,1] <- image_of_events
和 dta[i,2] <- description_of_evants
其中 i
是数字迭代器
2) 创建 array/data.frame 并使用 rbind
添加值,例如 dta <- rbind(dta, data.frame(m=images_of_events, n = description_of_events))