html_table() 在结构不佳的表格中的局限性
有时,您只想选择父元素的直接子代文本。不过在下面这个示例表格中,角色名称本身被包在 em 标签里;而其职能(例如 "Voice")又与包含 em 部分的同一个 td 元素中。这种结构不利于按需查询数据。
以下是 HTML 代码的节选:
<table>
<tr>
<th>Actor</th>
<th>Role</th>
</tr>
<tr>
<td class = "actor">Jayden Carpenter</td>
<td class = "role"><em>Mickey Mouse</em> (Voice)</td>
</tr>
...
</table>
在本练习中,您将尝试使用一个熟悉的 rvest 函数来抓取该表格。通过这个过程,您会体会到它的局限性。
变量 roles_html 中包含带有该表格的文档。
本练习是课程的一部分
R 语言网页抓取
练习说明
- 尝试使用您在第 1 章学到的函数,从该表格中提取一个数据框。
- 查看得到的数据框。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Extract the data frame from the table using a known function from rvest
roles <- roles_html %>%
html_element(xpath = "//___") %>%
___()
# Print the contents of the role data frame
___