Как очистить id от элемента в rvest? - PullRequest
0 голосов
/ 27 августа 2018

У каждого clear.grpl-grp clearfix (каждого элемента клуба) на этой странице есть свой идентификатор:

https://uws -community.symplicity.com / index.php? S = student_group

Я пытаюсь очистить каждый из этих идентификаторов, однако мой текущий метод, как показано ниже, не работает.Что я делаю не так?

url <- 'https://uws-community.symplicity.com/index.php?s=student_group'
page <- html_session(url)

id_nodes <- html_nodes(page, "div.grpl-grp clearfix") %>% html_attrs("id")

Мне нужно использовать сеанс HTML, потому что я собираю другие данные, для которых мне нужен сеанс.

1 Ответ

0 голосов
/ 27 августа 2018

В коде нужно сделать два изменения.

  1. Класс должен быть упомянут как "div.grpl-grp.clearfix"
  2. Вы должны использовать html_attr

    library(rvest)
    url <- 'https://uws-community.symplicity.com/index.php?s=student_group'
    page <- html_session(url)
    html_nodes(page, "div.grpl-grp.clearfix") %>% html_attr("id")
    
    
    #[1] "grpl_5bf9ea61bc46eaeff075cf8043c27c92" 
    #[2] "grpl_17e4ea613be85fe019efcf728fb6361d"
    #[3] "grpl_d593eb48fe26d58f616515366a1e677b" 
    #[4] "grpl_5b445690da34b7cff962ee2bf254db9e"
    #[5] "grpl_cd1ebcef22852bdb5301a243803a2909" 
    ....
    

Или если вы хотите сделать все в одной цепочке

url %>%
   read_html() %>%
   html_nodes("div.grpl-grp.clearfix") %>%
   html_attr("id")

#[1]"grpl_5bf9ea61bc46eaeff075cf8043c27c92" "grpl_17e4ea613be85fe019efcf728fb6361d"
#[3]"grpl_d593eb48fe26d58f616515366a1e677b" "grpl_5b445690da34b7cff962ee2bf254db9e"
#[5]"grpl_cd1ebcef22852bdb5301a243803a2909" "grpl_0a7da33f968a919ecfa06486f0787bc7"
...