【问题标题】:How to scrape id from an element in rvest?如何从 rvest 中的元素中刮取 id?
【发布时间】:2018-08-27 02:48:00
【问题描述】:

此页面上的每个 div.grpl-grp clearfix(每个俱乐部元素)都有自己的 id:

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

我正在尝试抓取每个 ID,但是我当前的方法(如下所示)不起作用。我做错了什么?

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 会话,因为我正在抓取我需要会话的其他数据。

【问题讨论】:

    标签: r web-scraping data-science rvest


    【解决方案1】:

    您需要在代码中进行两项更改。

    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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-09
      • 1970-01-01
      • 2021-07-06
      • 2018-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多