使用 GET() 提取状态码
在最后这个练习中,我们将从 read_lines() 切换到 httr 包中的 GET() 函数。
我们会先为 GET() 创建一个 possibly() 版本,用来测试您拿到的一些 URL 是否会报错。若能成功访问该 URL,就会返回一个连接对象。在这个对象中,您会看到一个 "status_code" 元素。
先别纠结于结果本身。只要记住:如果 GET() 返回错误,说明该 URL 不可用。我们返回的状态码数字看起来像是网页术语,不过下一章会详细讲解。现在只需要记住:200 表示一切正常。
urls 向量已在您的工作区中可用,且已为您加载了 purrr 和 httr。
本练习是课程的一部分
使用 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)