你好,我刚到这个迷人的r世界,我没有能够跳过不存在的网址,我该如何处理呢?不要标为和错误,谢谢你的帮助。
knitr::opts_chunk$set(echo = TRUE) library(xml2) library(rvest) library(tidyverse) library(lubridate) zora_core <- read_html("https://zora.medium.com/the-zora-music-canon-5a29296c6112") Los_100 <- data.frame(album = html_nodes(zora_core, "h1:not(#96c9)") %>% html_text() %>% str_trim(side = "both"), interprete = html_nodes(zora_core, "strong em , p#73e0 strong") %>% html_text() %>% str_remove_all("^by") %>% str_extract("[a-zA-Z].+(?=[(])") %>% str_trim(side = "both"), año = html_nodes(zora_core, "strong em , p#73e0 strong") %>% html_text %>% str_extract("([[:digit:]]){4}"), liga = paste0("https://en.wikipedia.org/wiki/",html_nodes(zora_core, "strong em , p#73e0 strong") %>% html_text() %>% str_remove_all("^by") %>% str_extract("[a-zA-Z].+(?=[(])") %>% str_trim(side = "both") %>% str_replace_all(" ","_")))
carga <- function(url){ perfil_raw <- read_html(url) data.frame(interprete = html_node(perfil_raw, "h1#firstHeading") %>% html_text() %>% str_trim(side = "both")) }
lista <- Los_100$liga[1:16] # THE url for the position 16 don´t exist how to avoid that datos_personales <- map_df(lista,carga)
了解R中的错误处理是很有用的,但是在处理http请求时,它变得非常重要。
在您的情况下,最好将carga
包装在trycatch
中。这将运行一个表达式,您将该表达式作为第一个参数传递,如果抛出错误,则捕获该表达式并将其传递给trycatch
的第二个参数,该参数是一个函数。
如果抛出一个错误,我们需要返回一个包含一列interprete
的数据帧,以便map_df
可以将其与其他结果绑定在一起:
carga_catch <- function(x)
{
tryCatch(return(carga(x)),
error = function(e) return(data.frame(interprete = "**inexistente**")))
}
map_df(lista, carga_catch)
#> interprete
#> 1 Ella Fitzgerald
#> 2 Sarah Vaughan
#> 3 Billie Holiday
#> 4 Sister Rosetta Tharpe
#> 5 Lena Horne
#> 6 Mahalia Jackson
#> 7 Abbey Lincoln
#> 8 Etta James
#> 9 Leontyne Price
#> 10 Marian Anderson
#> 11 Dinah Washington
#> 12 Odetta
#> 13 Dionne Warwick
#> 14 The Supremes
#> 15 Nina Simone
#> 16 **inexistente**
除了错误处理之外,我认为您的代码对于刚开始R的人来说是非常好的。它在几行代码中实现了很多,而且可读性非常好。干得好!
问题内容: 我有一段这样的代码 当我输入的查询超过一个词,例如“狗”时,出现以下错误。 谁能指出我做错了什么?提前致谢。 问题答案: “狗”返回400错误的原因是因为您没有转义URL的字符串。 如果您这样做: 会的。 但是,我强烈建议您使用请求,而不要使用urllib / urllib2 / httplib。这要容易得多,它将为您处理所有这一切。 这是与python请求相同的代码:
我正在制作一个面部跟踪视频()。它将返回作业id。我已经设置了所有部分。这里我的问题是,我无法使用从SQS获取消息。甚至也不工作。它给出了以下错误。 https://sqs.us-east-1.amazonaws.com上的列表队列;AWS HTTP错误:客户端错误:导致响应: 此请求的规范字符串应为“POST/…”。。。。。。。 代码如下所示。AWS PHP SDK版本3.64。11 提前感谢!
我已在centos 7上配置了kubernetes主机,并在另一个节点centos 7上配置了kubernetes节点 在kube Master上运行的服务: Kube-Controller-Manager kube-apiserver Kube-Scheduler ETCD 弗兰菲尔德 在kube节点上运行的服务: null 我不知道这个错误意味着什么,以及如何解决这个问题。请建议。
✔功能:功能文件夹上传成功 我正在开始发布过程(可能需要几分钟)... i函数:正在创建函数FollowerNotification. 其他一切工作都没有问题。只有当我试着用Firebase Firestore做东西的时候。
我正在尝试在javascript中自定义一个可以通过REST调用访问的endpoint。此终结点处理与不同情况相关的多个条件(基本上它生成一次性密码,然后验证它以检查它是否过期等)。 所以基本上结构是这样的: 我在开始时设置了一个对象,然后映射一个json消息,以便检索具有不同代码/消息响应的正文。因此,当终结点输入这些条件时,它将返回对象,并且 Header 始终为 200(调用成功)。像这样:
我们有一个应用程序,它将一些xml数据发布到另一个应用程序,并通过ApacheWeb服务器(版本2.2.26)反向代理传输流量。我们观察到一些零星的代理错误(http响应代码500)-删除服务器的SSL握手错误。错误消息显示在apache web服务器错误日志中。 早些时候,我们使用sunOne网络服务器,我们没有注意到这个错误。我怀疑可能是apache网络服务器上的一些缺失配置导致了这个问题。这