3

我想在下面的 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”

任何指针都非常感谢!

4

2 回答 2

2

尝试以下操作:

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')
于 2012-06-16T21:16:51.570 回答
0

使用

//div[@id='contentblock']
   /div/p[@class='centeredcontent']
         /img/@src

这将选择其属性具有值src的任何p元素的属性,并且该(元素)是 a 的子级,该子级是其属性具有值“内容块”的 a 的子级。class"centeredcontent"pdivdivid

如果要直接获取此属性的值,请使用

string(//div[@id='contentblock']
         /div/p[@class='centeredcontent']
              /img/@src)
于 2012-06-16T23:08:28.397 回答