开始使用免费开始使用

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, ___)
编辑并运行代码