read_lines() 的 possibly() 版本
我们仍在处理之前给您的那组待抓取的 URL。我们正尝试多种方法来识别无法访问的 URL。为什么要这样做?因为网页抓取的第一步就是判断 URL 是否可访问。这正是我们正在编写的代码的用途。
在上一个练习中,我们将 read_lines() 函数包裹在 safely() 中。本练习将使用 possibly() 函数。
在 Web 术语中,404 表示网页不可用。这个数字将用作 otherwise 参数。
另外,read_lines() 读取网页时会返回长度为 n 的向量,我们将使用 paste() 函数把它们折叠拼接起来。
已为您提供 urls 向量。
本练习是课程的一部分
使用 purrr 的函数式编程进阶
练习说明
用
possibly()包裹read_lines()函数,使其在其他情况下返回 404。将这个新创建的函数映射到 URL 列表上,并直接通过管道传给
set_names()。使用
paste()函数将该列表的每个元素转换为长度为 1 的字符向量,并将collapse参数设置为" "。只保留等于 404 的元素。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create a possibly() version of read_lines()
possible_read <- ___(___, otherwise = ___)
# Map this function on urls, pipe it into set_names()
res <- map(urls, ___) %>% ___(urls)
# Paste each element of the list
res_pasted <- ___(res, ___, collapse = ___)
# Keep only the elements which are equal to 404
___(res_pasted, ___)