如何使用rvest获取html_表中的链接? library(“rvest”) url% html_节点(xpath='/*[@id=“pageContainer”]/表[1]')%>% html_表格(填充=T) 表[[1]]
单元格的html内容如下所示如何使用rvest获取html_表中的链接? library(“rvest”) url% html_节点(xpath='/*[@id=“pageContainer”]/表[1]')%>% html_表格(填充=T) 表[[1]],r,rvest,R,Rvest,单元格的html内容如下所示 library("rvest") url <- "myurl.com" tables<- url %>% read_html() %>% html_nodes(xpath='//*[@id="pageContainer"]/table[1]') %>% html_table(fill = T) tables[[1]] 但在我只得到的粗略html中 点击这里 如果要获取“href”标记的值,请使用
library("rvest")
url <- "myurl.com"
tables<- url %>%
read_html() %>%
html_nodes(xpath='//*[@id="pageContainer"]/table[1]') %>%
html_table(fill = T)
tables[[1]]
但在我只得到的粗略html中
点击这里
如果要获取“href”标记的值,请使用:
<td><a href="http://somelink.com" target="_blank">Click Here</a></td>
我在(xpath online)上对此进行了测试。您可以通过使用
trace
编辑rvest::html\u表来处理此问题
现有行为的例子:
//*[@id="pageContainer"]/table[1]//@href
trace(rvest:::html_table.xml_node, quote({
values <- lapply(lapply(cells, html_node, "a"), html_attr, name = "href")
values[[1]] <- html_text(cells[[1]])
}), at = 14)
新行为:
//*[@id="pageContainer"]/table[1]//@href
trace(rvest:::html_table.xml_node, quote({
values <- lapply(lapply(cells, html_node, "a"), html_attr, name = "href")
values[[1]] <- html_text(cells[[1]])
}), at = 14)
您对所有单个单元的HREF满意吗?还是您特别希望HREF采用data.frame格式?因为收集href属性应该很容易:%%>%html\u节点(“适当的xpath或选择器”)%%>%html\u属性(“href”)
XML::gethtmlinks(url,xpQuery=“//*[@id=“pageContainer”]/table[1]/@href”)
应该是您所需要的全部内容。似乎这样可以在单元格中获得单个链接。如何修改它以获得单元格中的所有链接?