使用 XML 包 R 解析 RSS 提要

Posted

技术标签:

【中文标题】使用 XML 包 R 解析 RSS 提要【英文标题】:Parse RSS feed using XML packagin R 【发布时间】:2012-11-08 04:48:21 【问题描述】:

我正在尝试抓取和解析以下 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"

但是,每当我试图操纵并试图操纵“标题”或“描述”信息时,我都会不断出错。任何帮助解决此代码,将不胜感激。

谢谢, 托马斯

【问题讨论】:

【参考方案1】:

我正在使用优秀的 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)

【讨论】:

以上是关于使用 XML 包 R 解析 RSS 提要的主要内容,如果未能解决你的问题,请参考以下文章

解析 XML(RSS 提要)的 PHP 错误

如何使用 JavaScript 解析 RSS 提要?

SWIFT/iOS:将 XML 数据(RSS 提要)解析为明文,将图像和视频添加到 textview

从 Feedburner RSS 提要中获取原始 XML 数据

获取前缀:来自 XML RSS 提要的项目值

如何获取 RSS 提要上的所有旧项目?