Czy istnieje pakiet dla R, który pozwala na zapytanie do Wikipedii (najprawdopodobniej za pomocą interfejsu API Mediawiki), aby uzyskać listę dostępnych artykułów związanych z takim zapytaniem, a także zaimportować wybrane artykuły do eksploracji tekstu?Jak uzyskać dostęp do Wikipedii z R?
Odpowiedz
Użyj pakietu RCurl
, aby uzyskać informacje o wycofywaniu, oraz o pakietach XML
lub RJSONIO
do analizy odpowiedzi.
Jeśli jesteś za proxy, ustaw opcje.
opts <- list(
proxy = "136.233.91.120",
proxyusername = "mydomain\\myusername",
proxypassword = 'whatever',
proxyport = 8080
)
Użyj funkcji getForm
dostęp do the API.
search_example <- getForm(
"http://en.wikipedia.org/w/api.php",
action = "opensearch",
search = "Te",
format = "json",
.opts = opts
)
Analizowanie wyników.
fromJSON(rawToChar(search_example))
Mam problem z użyciem tego dla niektórych wyszukiwanych haseł, ale podejrzewam, że to problem z siecią, w której się znajduję. Potrzebuję ochotników, aby sprawdzić przykładowy kod z różnymi ciągami w parametrze 'search'. –
Jest WikipediR
'Owijka MediaWiki API w R'
library(devtools)
install_github("Ironholds/WikipediR")
library(WikipediR)
Obejmuje ona następujące funkcje:
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"
tutaj jest w użyciu, coraz szczegóły wkład i użytkownika szczegóły dla wielu użytkowników:
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))
- 1. dostęp do R z SAS
- 2. Jak uzyskać dostęp do ModelState z ActionFilter?
- 3. Jak uzyskać dostęp do gniazd obiektu S4 w R
- 4. Aby uzyskać dostęp do zasobnika S3 z R
- 5. Jak uzyskać stronę wikipedii w wielu językach?
- 6. Schemat filozofii Wikipedii w python i R
- 7. Jak uzyskać dostęp do ViewBag z JS
- 8. Jak uzyskać dostęp do Seconds_Behind_Master z SQL
- 9. Jak uzyskać dostęp do ListView z adaptera
- 10. Jak uzyskać dostęp do aplikacjiContext z kontrolera
- 11. Jak uzyskać dostęp do aplikacji?
- 12. Zdalna komunikacja z R - Jak zacząć z klientem R GUI, aby uzyskać dostęp do R na zdalnym serwerze
- 13. Jak uzyskać dostęp do GetGlobalResourceObject()
- 14. Jak uzyskać dostęp do RouteTable.Routes.MapHttpRoute?
- 15. Jak uzyskać dostęp do res/rysowania/"folderu"
- 16. Co używa Wikipedii do skalowania?
- 17. Pobieranie tekstu w Wikipedii
- 18. Wyodrębnianie danych z Wikipedii API
- 19. Jak uzyskać dostęp do zmiennej środowiskowej bash z poziomu R w emacs-ESS
- 20. Jak uzyskać dostęp do metody z app.component z innego komponentu?
- 21. Jak uzyskać dostęp do pliku sieciowego?
- 22. Jak programowo uzyskać dostęp do karty SIM?
- 23. Jak uzyskać dostęp do uruchomionego procesu?
- 24. Jak uzyskać dostęp do chronionego elementu
- 25. Jak uzyskać dostęp do kamery przez javascript
- 26. Jak uzyskać dostęp do mikrofonu w JS?
- 27. Jak uzyskać dostęp OAuth do Gmaila?
- 28. Jak uzyskać dostęp do pliku dziennika Redis
- 29. Jak uzyskać dostęp do WinRM w C#
- 30. Jak mogę uzyskać dostęp do indexedDB synchronicznie?
Możesz znaleźć następujące przydatne informacje: http://www.ragtag.info/2011/feb/10/processing-every-wikipedia-article/ – James