【问题标题】:Can't extract href link from html_node in rvest无法从 rvest 中的 html_node 提取 href 链接
【发布时间】:2021-06-09 03:13:03
【问题描述】:

当我使用 rvest 包 xpath 并尝试从站点获取嵌入式链接(足球队名称)时,我得到一个空结果。有人可以帮忙吗?

代码如下:

library(rvest)
 
url <- read_html('https://www.transfermarkt.com/premier-league/startseite/wettbewerb/GB1') 
    
xpath <- as.character('/html/body/div[2]/div[11]/div[1]/div[2]/div[2]/div')

url %>%
  html_node(xpath=xpath) %>% 
  html_attr('href')

【问题讨论】:

  • 您要提取哪些链接?
  • @RonakShah 我正在尝试提取表格中的足球队链接。

标签: html r web-scraping xpath rvest


【解决方案1】:

您可以使用以下方式获取所有链接:

library(rvest)

url <- 'https://www.transfermarkt.com/premier-league/startseite/wettbewerb/GB1'


url %>%
  read_html %>%
  html_nodes('td.hauptlink a') %>%
  html_attr('href') %>%
  .[. != '#'] %>%
  paste0('https://www.transfermarkt.com', .) %>%
  unique() %>%
  head(20)

【讨论】:

  • 这太棒了!它有效,谢谢。您是如何获得 css 选择器的?
  • 右击页面并检查元素以找到要提取的相关部分。
  • 太好了。所以你只是在那里添加'a',因为我在源代码中看不到它。
  • a 用于选择td.hauptlink之后的锚标记。
  • 表中有 20 个团队和 70 个链接 - 我认为 css 获取的链接超出了必要的数量。如果不使用 gadgetselector,将如何解决这个问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
相关资源
最近更新 更多