我正在尝试下载包含文本和链接的表格。我可以成功下载链接文本为“通过”的表格。但是,我想捕获实际的 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/