html - 在 R 中抓取 html 表及其 href 链接

标签 html r xpath rvest

我正在尝试下载包含文本和链接的表格。我可以成功下载链接文本为“通过”的表格。但是,我想捕获实际的 href URL 而不是文本。

library(dplyr)
library(rvest)
library(XML)
library(httr)
library(stringr)

link <- "http://www.qimedical.com/resources/method-suitability/"

qi_webpage <- read_html(link)

qi_table <- html_nodes(qi_webpage, 'table')
qi <- html_table(qi_table, header = TRUE)[[1]]
qi <- qi[,-1]

上面给出了一个很好的数据框。但是,当我希望链接与其关联时,最后一列仅包含文本“通过”。我曾尝试使用以下添加链接,但它们不对应正确 行:

qi_get <- GET("http://www.qimedical.com/resources/method-suitability/")
qi_html <- htmlParse(content(qi_get, as="text"))

qi.urls <- xpathSApply(qi_html, "//*/td[7]/a", xmlAttrs, "href")
qi.urls <- qi.urls[1,]

qi <- mutate(qi, "MSTLink" = (ifelse(qi$`Study Protocol(click to download certification)` == "Pass", (t(qi.urls)), "")))

我对 html、css 等知之甚少,所以我不确定我缺少什么才能正确完成此操作。

谢谢!!

最佳答案

您正在寻找表格单元格内的 a 元素,td。然后您需要 href 属性 的值。所以这是一种方法,它将返回一个包含所有 PDF 下载 URL 的向量:

qi_webpage %>%
  html_nodes(xpath = "//td/a") %>% 
  html_attr("href")

关于html - 在 R 中抓取 html 表及其 href 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43926349/

相关文章:

javascript - cookie 是否被视为 DOM 树的一部分?

javascript - 从输入类型文件获取文件夹目录 - PHP

r - 堪培拉距离 - 结果不一致

java - 当 Selenium 中的 xpath 时,子元素未正确填充

javascript - 当我滚动那个 div 时,如何在 jQuery var 中存储特定的 div id

r - 检查数据框中的列是否具有相同的值

r - 如何折叠具有相同标识符的行并保留非空列值?

xml - XPath-选择具有名称跟随模式的属性的xml节点

java - (Java)VTD-XML 和 Xpath 比较节点子元素

javascript - onclick后禁用功能