【问题标题】:how can i select only the links when i bring up the entire class to R?当我将整个班级带到 R 时,如何只选择链接?
【发布时间】:2022-01-28 12:40:33
【问题描述】:

图书馆:

library(rvest)
library(dplyr)
library(stringr)
library(purrr)

当我使用此代码时,我会调出整个网站的 html 类:

 links_avai <- paste0("https://avai.com.br/page", seq(from = 1, to = 2)) %>%
  map(. %>%
        read_html() %>%
        html_nodes(xpath = '//*[@class="gdlr-blog-title"]')

运行它,我得到了跟踪结果:

    [[1]]
{xml_nodeset (8)}
[1] <h3 class="gdlr-blog-title"><a href="https://www.avai.com.br/novo/entenda-como-funciona-o-processo-de-apresentacao-d ...
[2] <h3 class="gdlr-blog-title"><a href="https://www.avai.com.br/novo/ingressos-a-venda-para-avai-x-barra-3a-rodada-do-c ...
[3] <h3 class="gdlr-blog-title"><a href="https://www.avai.com.br/novo/dona-nesi-furlani-recebe-homenagem-do-avai/">Dona  ...
[4] <h3 class="gdlr-blog-title"><a href="https://www.avai.com.br/novo/avai-e-superado-pela-chapecoense-na-ressacada/">Av ...
[5] <h3 class="gdlr-blog-title"><a href="https://www.avai.com.br/novo/edital-de-convocacao-reuniao-extraordinaria-do-con ...
[6] <h3 class="gdlr-blog-title"><a href="https://www.avai.com.br/novo/catarinense-2022-confira-o-guia-da-partida-avai-x- ...
[7] <h3 class="gdlr-blog-title"><a href="https://www.avai.com.br/novo/avai-finaliza-preparacao-para-enfrentar-a-chapecoe ...
[8] <h3 class="gdlr-blog-title"><a href="https://www.avai.com.br/novo/catarinense-2022-arbitragem-para-avai-x-chapecoens ..

请记住如何改进我的代码以仅选择类中的链接?

我已经尝试过下面的代码,但它不起作用

links_avai <- paste0("https://avai.com.br/page", seq(from = 1, to = 2)) %>%
  map(. %>%
        read_html() %>%
        html_nodes(xpath = '//*[@class="gdlr-blog-title"]') %>% 
        html_element("href")

结果是:

 {xml_nodeset (8)}
[1] <NA>
[2] <NA>
[3] <NA>
[4] <NA>
[5] <NA>
[6] <NA>
[7] <NA>
[8] <NA>

【问题讨论】:

    标签: html r web rvest


    【解决方案1】:

    要获取链接使用html_attrs,链接附加到节点/元素a

    url<-"https://www.avai.com.br/novo/"
    
    url %>%
      read_html() %>%
      html_nodes('.gdlr-blog-title') %>% html_nodes('a') %>% 
      html_attr('href')
    
    [1] "https://www.avai.com.br/novo/se-e-baya-e-bom-atacante-paulo-baya-e-apresentado-no-leao/"              
    [2] "https://www.avai.com.br/novo/comunicado-arquivada-denuncia-no-stjd/"                                  
    [3] "https://www.avai.com.br/novo/sob-chuva-leao-se-reapresenta-nesta-tarde-de-quinta-feira/"              
    [4] "https://www.avai.com.br/novo/entenda-como-funciona-o-processo-de-apresentacao-de-atletas/"            
    [5] "https://www.avai.com.br/novo/ingressos-a-venda-para-avai-x-barra-3a-rodada-do-catarinense-fort-2022/" 
    [6] "https://www.avai.com.br/novo/dona-nesi-furlani-recebe-homenagem-do-avai/"                             
    [7] "https://www.avai.com.br/novo/avai-e-superado-pela-chapecoense-na-ressacada/"                          
    [8] "https://www.avai.com.br/novo/edital-de-convocacao-reuniao-extraordinaria-do-conselho-deliberativo-11/"
    

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 2017-01-18
      • 1970-01-01
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2018-05-03
      • 1970-01-01
      相关资源
      最近更新 更多