开始使用免费开始使用

安全的迭代

和上一章一样,假设您是一名在网页代理公司工作的数据分析师。这一次,您被要求做一些网页抓取。

(注意:即使您不懂网页抓取也不用担心,我们会从简单开始,并解释所有函数。)

您收到了一个 URL 列表,但您怀疑其中一些并不是真实地址。您要做的第一件事是测试是否能连接到这些 URL。为此,我们将使用 readr 包中的一个简单函数:read_lines(),并把它放进 safely() 中。给定一个 URL,read_lines() 会读取 HTML;如果该 URL 无法访问,则返回错误。

工作区中已提供向量 urls。如果您想查看其中内容,请在控制台打印它。

本练习是课程的一部分

使用 purrr 的函数式编程进阶

查看课程

练习说明

  • 创建 read_lines() 函数的安全版本。

  • 将这个新函数映射到名为 urls 的给定向量上。

  • 使用 set_names() 为结果设置名称。

  • 提取每个子列表中的 "error" 元素。

交互式实操练习

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

# Create a safe version of read_lines()
safe_read <- ___(___)

# Map it on the urls vector
res <- ___(urls, ___)

# Set the name of the results to `urls`
named_res <- ___(res, ___)

# Extract only the "error" part of each sublist
___(named_res, ___)
编辑并运行代码