首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用rvest抓取

使用rvest抓取
EN

Stack Overflow用户
提问于 2018-06-04 10:08:15
回答 1查看 221关注 0票数 1

在这篇rvest tutorial中,作者解释了如何获得乐高电影的标题和最近留言板帖子的作者:

代码语言:javascript
复制
library(rvest)
lego_movie <- html("http://www.imdb.com/title/tt1490017/")

lego_movie %>%
  html_nodes("table") %>%
  .[[3]] %>%
  html_table()

我知道倒数第二行的[[3]]指的是第三个元素。然而,前面的.做了什么呢?

EN

回答 1

Stack Overflow用户

发布于 2018-09-22 15:44:09

Ronak Shah已经给你指出了答案,但如果有人谈到这个问题,我试图给这个问题一个更深入的答案。

在本教程的开头,我们被告知了以下内容:

harvest是一个新的软件包,它可以很容易地从

网页中抓取(或获取)数据,灵感来自于像美丽汤这样的库。它的设计目的是与magrittr一起工作,这样你就可以将复杂的操作表达为优雅的流水线,它由简单、易于理解的部分组成。

我突出显示了文本的相关部分。正如您可能已经猜到的,%>%符号是magrittr库的一部分,用于创建管道。

.[[3]]中的点(.)用于帮助我们创建教程中提到的那些优雅的 pipelines。点的用途是替代管道中的前一个元素。因此,我们可以说您可以替换为:

代码语言:javascript
复制
third_element_in_table_node <- lego_movie %>%
                              html_nodes("table") %>%
                              .[[3]]

出自:

代码语言:javascript
复制
table_node <- lego_movie %>%
              html_nodes("table")
third_element_in_table_node <- table_node[[3]]

希望这能有所帮助!祝你抓取快乐!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50672634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档