我正在尝试打开一个链接,然后创建一个.csv表,然后转到第2页并将数据附加到第一页的数据下面,依此类推,一旦到达最后一页,就应该停止导航。 / p>
i=c(seq(1,250, 25))
j=c(seq(26,250,25))
n=c(seq(1,15,1)) #n = no. of pages 15 is the max.
for (p in n){
for (k in j){
for (l in i){
tryCatch({
ara <- paste0("some website with multiple pages.......pageNumber=",p,"&startRecord=",l,"&endRecord=",k)
mybrowser$navigate(ara)
doc <- htmlParse(mybrowser$getPageSource()[[1]])
Sys.sleep(1)
docrf <<- readHTMLTable(doc)
ab2<<-docrf$'SearchResultsTable'
Sys.sleep(5)
ab2%>%write_csv("C:/Users/Kisf/Documents/newlist2.csv",append=TRUE) #this is not appending data
},error=function(e){})
}
}
}
链接在无限循环中导航,而不是在页面号停止。 9这是最后一页。
我不确定我哪里出错了。
答案 0 :(得分:0)
有三个嵌套for
循环,每个页面解析90次。结果不是无限循环,但可能需要相当长的时间才能完成迭代。下面可能更接近您正在寻找的内容(假设每页可以解析25条记录)。
n <- seq_len(11) #number of pages to parse
step <- 25 #number of records to retrieve per page
for (p in n){
aa <- paste0("http://.......pageNumber=", p, "&startRecord=", (p - 1) * step + 1, "&endRecord=", p * step)
#other code as desired
}