我使用xml2::read_html
函数读取下面的字符串(从实际示例简化)。
<table>
<tobody>
<tr>
<td width="71"><a href="JavaScript:gibo_load('http://something.com/XYZW');">
hello
</td>
</tr>
</tobody>
</table>
rvest::html_table(x)
能够从它创建一个表,看起来像
如果我将x
设置为上面的HTML作为字符串/字符
x1
hello
但是我希望提取URL,这是<a>
标记的href
属性的一部分。
但rvest::html_attrs(x)
似乎不起作用。使用任何其他R包的返回从标签中提取属性的方法是什么?
要从节点中提取链接,必须首先获得节点向量,然后将该向量传递给html_attr()
,并标识相应的标记。
library(rvest)
library(dplyr)
page<- read_html("<table>
<tobody>
<tr>
<td width="71"><a href="JavaScript:gibo_load('http://something.com/XYZW');">
hello
</td>
</tr>
</tobody>
</table>")
#create a vector of nodes with the links
linknodes <- page %>% html_nodes("a")
#extract the href attribute.
answer <-linknodes %>% html_attr("href")
answer
#[1] "JavaScript:gibo_load('http://something.com/XYZW');"
在这个例子中"JavaScript:…"是href属性的一部分。
如果你只对"http:…"部分,那么您将需要使用gsub
或str_extract
来获得最终结果。