Есть ли какой-либо пакет для R, который позволяет запрашивать Википедию (скорее всего, используя Mediawiki API), чтобы получить список доступных статей, относящихся к такому запросу, а также импортировать выбранные статьи для интеллектуального анализа текста?
Как получить доступ к Википедии из R?
comment
Вам может быть полезно следующее: ragtag.info/2011/ feb / 10 / processing-every-wikipedia-article
- person James   schedule 23.05.2011
Ответы (3)
Используйте пакет RCurl
для получения информации и пакеты XML
или RJSONIO
для анализа ответа.
Если вы находитесь за прокси, установите свои параметры.
opts <- list(
proxy = "136.233.91.120",
proxyusername = "mydomain\\myusername",
proxypassword = 'whatever',
proxyport = 8080
)
Используйте функцию getForm
для доступа к API.
search_example <- getForm(
"http://en.wikipedia.org/w/api.php",
action = "opensearch",
search = "Te",
format = "json",
.opts = opts
)
Анализируйте результаты.
fromJSON(rawToChar(search_example))
person
Richie Cotton
schedule
23.05.2011
У меня проблемы с использованием этого параметра для некоторых поисковых запросов, но я подозреваю, что это проблема в сети, в которой я нахожусь. Мне нужны добровольцы, чтобы проверить пример кода с разными строками в параметре
search
.
- person Richie Cotton; 23.05.2011
Существует WikipediR
, "оболочка API MediaWiki в R"
library(devtools)
install_github("Ironholds/WikipediR")
library(WikipediR)
Он включает в себя следующие функции:
ls("package:WikipediR")
[1] "wiki_catpages" "wiki_con" "wiki_diff" "wiki_page"
[5] "wiki_pagecats" "wiki_recentchanges" "wiki_revision" "wiki_timestamp"
[9] "wiki_usercontribs" "wiki_userinfo"
Здесь он используется для получения сведений о вкладе и сведений о пользователях для группы пользователей:
library(RCurl)
library(XML)
# scrape page to get usernames of users with highest numbers of edits
top_editors_page <- "http://en.wikipedia.org/wiki/Wikipedia:List_of_Wikipedians_by_number_of_edits"
top_editors_table <- readHTMLTable(top_editors_page)
very_top_editors <- as.character(top_editors_table[[3]][1:5,]$User)
# setup connection to wikimedia project
con <- wiki_con("en", project = c("wikipedia"))
# connect to API and get last 50 edits per user
user_data <- lapply(very_top_editors, function(i) wiki_usercontribs(con, i) )
# and get information about the users (registration date, gender, editcount, etc)
user_info <- lapply(very_top_editors, function(i) wiki_userinfo(con, i) )
person
Ben
schedule
04.06.2014
Новая прекрасная возможность - это пакет wikifacts
(в CRAN):
library(wikifacts)
wiki_define('R (programming language)')
## R (programming language)
## "R is a programming language and free software environment for statistical computing and graphics supported by the R Foundation for Statistical Computing. The R language is widely used among statisticians and data miners for developing statistical software and data analysis. Polls, data mining surveys, and studies of scholarly literature databases show substantial increases in popularity; as of April 2021, R ranks 16th in the TIOBE index, a measure of popularity of programming languages.The official R software environment is a GNU package.\nIt is written primarily in C, Fortran, and R itself (thus, it is partially self-hosting) and is freely available under the GNU General Public License. Pre-compiled executables are provided for various operating systems."
person
vonjd
schedule
30.05.2021