我想制作现实世界总统的地图。
为此,我想从维基百科中删除每位总统的照片。
第一步是从维基页面获取数据: http://en.wikipedia.org/wiki/List_of_current_heads_of_state_and_government
我无法获取国家/地区名称和总统页面网址,因为该表格包含行标。
目前,我的代码如下所示,但因为行跨越而不行。
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 :(得分:0)
如果表格中存在异质性,我认为我们不能通过一行代码处理问题。在您的情况下,有些td
有colspan=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()")
。因此,可以使用以下过滤器单独选择和处理它们:
{{1}}
如果您在表中遇到其他类型的条件,请记住XPath有更多。