学习网页抓取看不懂:html_nodes("table") %>% `[[`(6) %>%

Learning web scraping unable to understand : html_nodes("table") %>% `[[`(6) %>%

我正在学习 r 中的网页抓取,编写了以下代码:

url <- "https://en.wikipedia.org/wiki/World_population"  

library(rvest)
library(tidyr)
library(dplyr)

ten_most_df <- read_html(url) 



ten_most_populous <- ten_most_df %>% 
  html_nodes("table") %>% `[[`(6) %>% html_table()

在上述代码中,[[(6)代表什么。

为此,我也参考了一些文档,其中写有以下文字,但不清楚:

"对于向量和矩阵,很少使用 [[ 形式,尽管它们有一些轻微的语义 与 [ 形式的区别(例如,它删除了任何名称或 dimnames 属性,并且该部分 匹配用于字符索引)"

请您解释一下,会很有帮助的。谢谢

这只是从节点集中选择第 6 个元素的一种方法。

代码ten_most_df %>% html_nodes("table") returns一个xml_nodeset对象,有26个元素,对应页面上的26个表格。 [[(6) 子集对象和 returns 第 6 个节点。

事实上,有一种仅使用 html_table 的更快方法,其中 returns 列表中的表:

ten_most_df %>% 
  html_table() %>%
  .[[6]] 

我个人觉得这更容易阅读; . 表示列表,[[n]] 是访问列表元素编号 n.

的标准方法