如何使用R中的WikipediR包从维基百科页面获取数据?

时间:2015-07-10 00:27:08

标签: r api mediawiki

我需要从多个维基百科页面中获取一部分数据。我怎么能用WikipediR包呢?或者还有其他一些更好的选择。确切地说,我只需要所有页面中的以下标记部分。

Wikipedia page on Sachin Tendulkar

我怎么能得到它?任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:3)

关于你想要什么,你能更具体一点吗?这是从网络导入数据的简单方法,特别是从维基百科导入数据。

library(rvest)    
scotusURL <- "https://en.wikipedia.org/wiki/List_of_Justices_of_the_Supreme_Court_of_the_United_States"

## ********************
## Option 1: Grab the tables from the page and use the html_table function to extract the tables you're interested in.

temp <- scotusURL %>% 
  html %>%
  html_nodes("table")

html_table(temp[1]) ## Just the "legend" table
html_table(temp[2]) ## THE MAIN TABLE

现在,如果您想要从具有基本相同结构的多个页面导入数据,但可能只是通过某些数字或某些内容进行更改,请尝试使用此方法。

library(RCurl);library(XML)

pageNum <- seq(1:10)
url <- paste0("http://www.totaljobs.com/JobSearch/Results.aspx?Keywords=Leadership&LTxt=&Radius=10&RateType=0&JobType1=CompanyType=&PageNum=") 
urls <- paste0(url, pageNum) 

allPages <- lapply(urls, function(x) getURLContent(x)[[1]])
xmlDocs <- lapply(allPages, function(x) XML::htmlParse(x))