我正在尝试下载包含文本和链接的表。我可以使用链接文本“Pass”成功下载表格。但是,我想要捕获实际的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]
上面给出了一个很好的数据帧。但是,当我希望将链接与其关联时,最后一列仅包含文本“Pass”。我试图使用以下内容添加链接,但它们不对应正确 行:
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等知之甚少,所以我不确定我所缺少的是为了做到这一点。
谢谢!
答案 0 :(得分:5)
您正在寻找表格单元格a
内的td
个元素。然后,您需要href
属性的值。所以这是一种方式,它将返回一个包含PDF下载所有URL的向量:
qi_webpage %>%
html_nodes(xpath = "//td/a") %>%
html_attr("href")