2013-04-18 39 views
3

我想進行映射的現實世界的總統。readHTMLTables - 檢索國家名稱和相關的政府首腦文章的網址

爲此,我想從維基百科中颳去每個總統的圖像。

來自維基頁面

的第一步是獲取數據: http://en.wikipedia.org/wiki/List_of_current_heads_of_state_and_government

我有麻煩的國名和總統的網頁網址,因爲該表有rowspans。

目前,我的代碼看起來像下面,但它是因爲該行跨越的不正常..

library(XML)  
    u = "http://en.wikipedia.org/wiki/List_of_current_heads_of_state_and_government" 
    doc = htmlParse(u) 
    tb = getNodeSet(doc, "//table")[[3]] 

    stateNames <- readHTMLTable(tb)$State 
    presidentUrls <- xpathSApply(tb, "//table/tr/td[2]/a[2]/@href") 

任何想法,歡迎!

回答

0

如果有異質性的表,我不認爲我們可以通過一行代碼解決這個問題。在你的情況,一些tdcolspan=2,而有的則沒有。因此,他們可以選擇用類似下面的過濾器分別進行處理:

nations1 <- xpathSApply(tb, "//table/tr[td[@colspan='2']]/td[1]/a/text()") 
    nations2 <- xpathSApply(tb, "//table/tr[count(td)=3]/td[1]/a/text()") 

你應該滿足其他類型的表中的條件,只是記住,XPath的詳細報道。

相關問題