5

次の RSS フィードをスクレイピングして解析しようとしています http://www.huffingtonpost.com/rss/liveblog/liveblog-1213.xml R と XML に関する他のクエリを調べましたが、進展がありませんでした私の問題について。各エントリの xml コード

        <item>
     <title><![CDATA[Five Rockets Intercepted By Iron Drone Systems Over Be'er Sheva]]></title>
     <link>http://www.huffingtonpost.co.uk/2012/11/15/tel-aviv-gaza-rocket_n_2138159.html#2_five-rockets-intercepted-by-iron-drone-systems-over-beer-sheva</link>
     <description><![CDATA[<a href="http://www.haaretz.com/news/diplomacy-defense/live-blog-rockets-strike-tel-aviv-area-three-israelis-killed-in-attack-on-south-1.477960" target="_hplink">Haaretz reports</a> that five more rockets intercepted by Iron Dome systems over Be'er Sheva. In total, there have been 274 rockets fired and 105 intercepted. The IDF has attacked 250 targets in Gaza.]]></description>
     <guid>http://www.huffingtonpost.co.uk/2012/11/15/tel-aviv-gaza-rocket_n_2138159.html#2_five-rockets-intercepted-by-iron-drone-systems-over-beer-sheva</guid>
     <pubDate>2012-11-15T12:56:09-05:00</pubDate>
     <source url="http://huffingtonpost.com/rss/liveblog/liveblog-1213.xml">Huffingtonpost.com</source>
  </item>

エントリ/投稿ごとに、「日付」(pubDate)、「タイトル」(タイトル)、「説明」(全文を消去) を記録したいと考えています。私はRでxmlパッケージを使用しようとしましたが、私は少し初心者です(XMLを扱った経験はほとんどまたはまったくありませんが、Rの経験はいくらかあります)。私が取り組んでいるコードは次のとおりです。

 library(XML)

 xml.url <- "http://www.huffingtonpost.com/rss/liveblog/liveblog-1213.xml"

 # Use the xmlTreePares-function to parse xml file directly from the web

 xmlfile <- xmlTreeParse(xml.url)

# Use the xmlRoot-function to access the top node

xmltop = xmlRoot(xmlfile)

xmlName(xmltop)

names( xmltop[[ 1 ]] )

  title          link   description      language     copyright 
  "title"        "link" "description"    "language"   "copyright" 
 category     generator          docs          item          item 
  "category"   "generator"        "docs"        "item"        "item"

ただし、「タイトル」または「説明」情報を操作しようとすると、常にエラーが発生します。このコードのトラブルシューティングに関するヘルプをいただければ幸いです。

ありがとう、トーマス

4

1 に答える 1

11

優れた Rcurl ライブラリと xpathSApply を使用しています

これは、3 つのリスト (タイトル、発行日、説明) を提供するスクリプトです。

library(RCurl)
library(XML)
xml.url <- "http://www.huffingtonpost.com/rss/liveblog/liveblog-1213.xml"
script  <- getURL(xml.url)
doc     <- xmlParse(script)
titles    <- xpathSApply(doc,'//item/title',xmlValue)
descriptions    <- xpathSApply(doc,'//item/description',xmlValue)
pubdates <- xpathSApply(doc,'//item/pubDate',xmlValue)
于 2012-11-20T12:55:14.720 に答える