Соскоб с Rvest - PullRequest
       20

Соскоб с Rvest

0 голосов
/ 04 июня 2018

В этом rvest учебном пособии автор объясняет, как получить названия и авторов последних сообщений на доске объявлений для фильма Lego:

library(rvest)
lego_movie <- html("http://www.imdb.com/title/tt1490017/")

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

Я понимаю, что [[3]] ввторая последняя строка относится к третьему элементу.Однако, что делает . перед?

1 Ответ

0 голосов
/ 22 сентября 2018

Ронак Шах уже указал вам на ответ, но в случае, если кто-нибудь дойдет до этого вопроса, я попытался дать более подробный ответ на вопрос.

В начале урока нам говорятследующее:

rvest - это новый пакет, который облегчает очистку (или сбор) данных с html-страниц, созданных по мотивам таких библиотек, как прекрасный суп. Он предназначен для работы с magrittr, так что вы можете выразить сложные операции в виде элегантных конвейеров , состоящих из простых, легко понимаемых частей.

Я выделил соответствующую часть текста.Как вы, возможно, уже догадались, символы %>% являются частью библиотеки magrittr и используются для создания каналов.

Точка (.) в .[[3]] используется, чтобы помочь намсоздайте элегантные конвейеры , на которые ссылается учебник.Цель точки - заменить предыдущий элемент в конвейере.Итак, мы можем сказать, что вы могли бы заменить:

third_element_in_table_node <- lego_movie %>%
                              html_nodes("table") %>%
                              .[[3]]

на:

table_node <- lego_movie %>%
              html_nodes("table")
third_element_in_table_node <- table_node[[3]]

Надеюсь, что это помогло!Счастливого соскоба!

...