[英]error checking a loop in r with webscraping
我有一個網頁列表,我想檢查網站的某個部分是否存在。
library(rvest)
links
[1] "http://www.stevel.com/?xid=2679644&dd=2015-01-22"
[2] "http://www.stevel.com/?xid=2679644&dd=2015-01-21"
[3] "http://www.stevel.com/?xid=2679644&dd=2015-01-20"
[4] "http://www.stevel.com/?xid=2679644&dd=2015-01-19"
[5] "http://www.stevel.com/?xid=2679644&dd=2015-01-18"
我已經移動了很多代碼,但似乎無法使任何工作正常工作。
newlist <- c()
for (i in 1:length(links)) {
separate <- html(links[i])
try(separate %>%
html_nodes('div span') %>%
.[[13]], silent=TRUE)
newlist <- rbind(links[i],newlist)
}
所需的輸出將是有效的鏈接(不產生錯誤)。
[1] "http://www.stevel.com/?xid=2679644&dd=2015-01-22"
[2] "http://www.stevel.com/?xid=2679644&dd=2015-01-20"
所以,基本上我有一個鏈接列表。 我在 R 中合並 'try' 時遇到問題。我想遍歷鏈接並嘗試每個鏈接以查看它的特定方面是否存在 - 這是我放入 try 子句中的部分。 如果存在,則將該網頁放在“新列表”中。 如果它不存在,則將其排除。
任何幫助我指明正確方向的幫助將不勝感激。
另一種方法是使用 tryCatch :
links <- c("http://www.stevel.com/?xid=2679644&dd=2015-01-22",
"http://www.stevel.com/?xid=2679644&dd=2015-01-21",
"http://www.stevel.com/?xid=2679644&dd=2015-01-20",
"http://www.stevel.com/?xid=2679644&dd=2015-01-19",
"http://www.stevel.com/?xid=2679644&dd=2015-01-18")
newlist <- c()
for(i in 1 : length(links))
{
print(i)
separate <- tryCatch(html(links[i]), error = function(e) NA)
tryCatch((separate %>% html_nodes('div span')
%>% .[[13]]), error = function(e) NA)
newlist <- rbind(links[i], newlist)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.