&引用;“拯救”;R中的命令?

&引用;“拯救”;R中的命令?,r,web-scraping,internal-server-error,rvest,R,Web Scraping,Internal Server Error,Rvest,我有以下代码: library(rvest) url_list <- c("https://github.com/rails/rails/pull/100", "https://github.com/rails/rails/pull/200", "https://github.com/rails/rails/pull/300") mine <- function(url){ url_content <- h

我有以下代码:

library(rvest)
url_list <- c("https://github.com/rails/rails/pull/100", 
               "https://github.com/rails/rails/pull/200", 
               "https://github.com/rails/rails/pull/300")

mine <- function(url){
  url_content  <- html(url)
  url_mainnode <- html_node(url_content, "*")
  url_mainnode_text <- html_text(url_mainnode)
  url_mainnode_text <- gsub("\n", "", url_mainnode_text) # clean up the text
  url_mainnode_text
}

messages <- lapply(url_list, mine)

我知道在Ruby中,我可以使用
rescue
在列表中不断迭代,即使应用函数的一些尝试失败了。R中有类似的东西吗?

一个选项是使用
try()
。有关详细信息,请参阅。下面是一个实现:

library(rvest)
url_list <- c("https://github.com/rails/rails/pull/100", 
               "https://github.com/rails/rails/pull/200", 
               "https://github.com/rails/rails/pull/300")

mine <- function(url){
  try(url_content  <- html(url))
  url_mainnode <- html_node(url_content, "*")
  url_mainnode_text <- html_text(url_mainnode)
  url_mainnode_text <- gsub("\n", "", url_mainnode_text) # clean up the text
  url_mainnode_text
}

messages <- lapply(url_list, mine)
库(rvest)

url_list Link only答案是不鼓励的,尤其是当它们只是提到一个著名的设施时。如果你想赢得声誉,那么粘贴一个完整的工作示例。我发现在短时间内回答你的大多数问题,不努力寻找答案的做法接近于虐待行为。我同意你的第一点——我添加了一个例子。我不同意你的第二点(回答自己的问题)。请看这里:我认为,问一些你知道答案但没有搜索过的问题,这似乎是一个相当琐碎的答案,它跨越了发布虚拟问题和立即发布答案的界限。
library(rvest)
url_list <- c("https://github.com/rails/rails/pull/100", 
               "https://github.com/rails/rails/pull/200", 
               "https://github.com/rails/rails/pull/300")

mine <- function(url){
  try(url_content  <- html(url))
  url_mainnode <- html_node(url_content, "*")
  url_mainnode_text <- html_text(url_mainnode)
  url_mainnode_text <- gsub("\n", "", url_mainnode_text) # clean up the text
  url_mainnode_text
}

messages <- lapply(url_list, mine)