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>

望ましい結果: "../ billder / 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)

@MartinMorganのおかげで以下に追加されました

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

これにより、属性に値があり、その属性が値'"contentblock"'の子であるaの子である要素のsrc属性が選択されます。pclass"centeredcontent"pdivdivid

この属性の値を直接取得する場合は、次を使用します

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