gpt4 book ai didi

xml - 使用 xpathSApply 在 R 中抓取 XML 属性

转载 作者:数据小太阳 更新时间:2023-10-29 01:46:17 26 4
gpt4 key购买 nike

我正在使用 xpathSApply(在 XML 包中)在 R 中抓取 XML,但无法提取属性。

首先,一段相关的 XML 片段:

 <div class="offer-name">
<a href="http://www.somesite.com" itemprop="name">Fancy Product</a>
</div>

我已经使用以下方法成功提取了“Fancy Product”(即元素?):

Products <- xpathSApply(parsedHTML, "//div[@class='offer-name']", xmlValue) 

这花了一些时间(我是 n00b),但是文档很好,而且这里有几个我可以利用的已回答问题。我不知道如何拉出“http://www.somesite.com”(属性?)。我推测它涉及将第 3 项从“xmlValue”更改为“xmlGetAttr”,但我可能会完全放弃。

仅供引用 (1) 在我粘贴的代码片段上方还有 2 个父级 < div> 并且 (2) 这里是缩写的完整代码(我认为不相关但为了完整起见包含在内)是:

library(XML)
library(httr)

content2 = paste(readLines(file.choose()), collapse = "\n") # User will select file.
parsedHTML = htmlParse(content2,asText=TRUE)

Products <- xpathSApply(parsedHTML, "//div[@class='offer-name']", xmlValue)

最佳答案

href 是一个属性。您可以选择适当的节点 //div/a 并使用带有 name = hrefxmlGetAttr 函数:

'<div class="offer-name">
<a href="http://www.somesite.com" itemprop="name">Fancy Product</a>
</div>' -> xData
library(XML)
parsedHTML <- xmlParse(xData)
Products <- xpathSApply(parsedHTML, "//div[@class='offer-name']", xmlValue)
hrefs <- xpathSApply(parsedHTML, "//div/a", xmlGetAttr, 'href')
> hrefs
[1] "http://www.somesite.com"

关于xml - 使用 xpathSApply 在 R 中抓取 XML 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25315381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com