使用 XML-Package 在 R 中使用 XPath 检索图像源

标签 r xpath

我想在下面的 HTML 代码块中检索图像源,但找不到正确的语法。

library(XML)
library(RCurl)
script <- getURL("http://www.floraweb.de/pflanzenarten/druck.xsql?suchnr=4346")
(doc <- htmlParse(script))


<div class="divider"><hr></div>
<div id="contentblock"><div id="content">
<h1>Alle Angaben</h1>
<p>Zu der von Ihnen gewählten Pflanzenart liegen folgende Informationen vor:</p>
<p><a href="../glossar.html#bname">Wissenschaftlicher Name</a>: Poa badensis agg. </p>
<p><a href="../glossar.html#bdeu">Deutscher Name</a>: Artengruppe Badener Rispengras</p>
<p><a href="../glossar.html#bfam">Familienzugehörigkeit</a>: Poaceae, Süßgräser</p>
<p><a href="../glossar.html#bsta">Status</a>: keine Angaben </p>
<p class="centeredcontent"><img border="0" src="../bilder/Arten/dummy.tmb.jpg"></p>

期望的结果: “../bilder/Arten/dummy.tmb.jpg”

非常感谢任何指点!

最佳答案

尝试以下操作:

script <- getURL("http://www.floraweb.de/pflanzenarten/druck.xsql?suchnr=4346")
doc <- htmlTreeParse(script,useInternalNodes=T)
img<-xpathSApply(doc,'//*/p[@class="centeredcontent"]/img',xmlAttrs)
> img[2]
[1] "../bilder/Arten/dummy.tmb.jpg"

可能需要使用内部表示

编辑:

我刚刚查找了 htmlParse 及其等效于 htmlTreeParse(useInternalNodes=T)

@Martin Morgan 感谢已在下方添加

doc <- htmlParse("http://www.floraweb.de/pflanzenarten/druck.xsql?suchnr=4346")
xpathSApply(doc, '//*/p[@class="centeredcontent"]/img/@src')

关于使用 XML-Package 在 R 中使用 XPath 检索图像源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11066967/

相关文章:

r - 如何使用ggplot2在条形图的条形上方添加边缘地毯

java - 无法在弹出的新窗口中访问框架内的网络元素

用于选择元素内部文本的 Xpath

r - reorder_within (ggplot2) 有问题

r - AWS EC2 上使用 h2o 进行多节点集群安装

r - 在共享服务器上运行 R 的包管理

xml - 使用 XPath 检索特定属性的属性值

GAM 和另一种平滑中的随机效应使协方差矩阵非正定

xpath - 查找具有 : specific attribute and a child with specific text 的元素

Xpath 选择所有以下 sibling 以及匹配的元素