2012-11-20 36 views
5

Tôi đang cố gắng loại bỏ và phân tích cú pháp nguồn cấp dữ liệu RSS sau đây http://www.huffingtonpost.com/rss/liveblog/liveblog-1213.xml Tôi đã xem xét các truy vấn khác liên quan đến R và XML và không thể thực hiện bất kỳ tiến bộ nào về vấn đề của mình. Mã xml cho mỗi mục nhậpPhân tích nguồn cấp dữ liệu RSS bằng cách sử dụng gói đóng gói XML R

 <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> 

Đối với mỗi mục/bài đăng, tôi muốn ghi "Ngày" (pubDate), "Tiêu đề" (tiêu đề), "Mô tả" (làm sạch toàn văn). Tôi đã cố gắng sử dụng gói xml trong R, nhưng thú nhận tôi là một chút của một newbie (ít hoặc không có kinh nghiệm làm việc với XML, nhưng một số kinh nghiệm R). Mã Tôi đang làm việc tắt của, và nhận được hư không với là:

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" 

Tuy nhiên, bất cứ khi nào tôi cố gắng để thao tác và cố gắng lôi kéo "title", hoặc "mô tả" thông tin, tôi liên tục nhận được lỗi. Bất kỳ trợ giúp khắc phục sự cố mã này, sẽ được đánh giá cao nhất.

Cảm ơn, Thomas

Trả lời

10

Tôi đang sử dụng thư viện Rcurl tuyệt vời và xpathSApply

Đây là kịch bản cung cấp cho bạn 3 danh sách (tên sách, pubdates và mô tả)

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) 
+0

để biết thêm thông tin, xpathSApply trong thư viện XML –

Các vấn đề liên quan