开始使用免费开始使用

使用 GET() 提取状态码

在最后这个练习中,我们将从 read_lines() 切换到 httr 包中的 GET() 函数。

我们会先为 GET() 创建一个 possibly() 版本,用来测试您拿到的一些 URL 是否会报错。若能成功访问该 URL,就会返回一个连接对象。在这个对象中,您会看到一个 "status_code" 元素。

先别纠结于结果本身。只要记住:如果 GET() 返回错误,说明该 URL 不可用。我们返回的状态码数字看起来像是网页术语,不过下一章会详细讲解。现在只需要记住:200 表示一切正常。

urls 向量已在您的工作区中可用,且已为您加载了 purrrhttr

本练习是课程的一部分

使用 purrr 的函数式编程进阶

查看课程

练习说明

  • 创建一个 GET() 的变体,使其在出错时返回 NULL

  • 为结果设置名称。

  • 移除所有 NULL

  • 提取每个元素的 "status_code"

交互式实操练习

通过完成这段示例代码来试试这个练习。

url_tester <- function(url_list){
  url_list %>%
    # Map a version of GET() that would otherwise return NULL 
    map( ___(GET, ___) ) %>%
    # Set the names of the result
    ___( url_list ) %>%
    # Remove the NULL
    ___() %>%
    # Extract all the "status_code" elements
    map(___)
}

# Try this function on the urls object
___(urls)
编辑并运行代码