Für eine Seite article werden die Pageviews pro Tag für einen Monat month (Voreinstellung: aktueller Monat, Format YYYYMM). Informationen zur Website, über die die Daten aufgerufen werden, finden sich hier: http://stats.grok.se/.
f_wikiviews = function(language="de", month=paste0(format(Sys.time(), "%Y"), format(Sys.time(), "%m")), article, verbose=F) {
if(verbose) print(article)
URL = paste0(c("http://stats.grok.se/json", language, month, article), collapse="/")
dmp = getURLContent(URL)
dmp = fromJSON(dmp)
dmp2 = data.frame(views=do.call(rbind, dmp$daily_views))
# dmp2$date = as.Date(rownames(dmp2))
dmp2$date = rownames(dmp2)
dmp2$article = article
dmp2$project = language
dmp2
}
Pageviews des Artikels “Grippeimpfung” im September 2014
f_wikiviews(article = "Grippeimpfung", month = 201409)
## views date article project
## 2014-09-19 292 2014-09-19 Grippeimpfung de
## 2014-09-18 432 2014-09-18 Grippeimpfung de
## 2014-09-30 591 2014-09-30 Grippeimpfung de
## 2014-09-15 369 2014-09-15 Grippeimpfung de
## 2014-09-14 166 2014-09-14 Grippeimpfung de
## 2014-09-17 352 2014-09-17 Grippeimpfung de
## 2014-09-16 434 2014-09-16 Grippeimpfung de
## 2014-09-11 317 2014-09-11 Grippeimpfung de
## 2014-09-10 341 2014-09-10 Grippeimpfung de
## 2014-09-13 125 2014-09-13 Grippeimpfung de
## 2014-09-12 277 2014-09-12 Grippeimpfung de
## 2014-09-26 433 2014-09-26 Grippeimpfung de
## 2014-09-20 128 2014-09-20 Grippeimpfung de
## 2014-09-21 213 2014-09-21 Grippeimpfung de
## 2014-09-22 455 2014-09-22 Grippeimpfung de
## 2014-09-23 544 2014-09-23 Grippeimpfung de
## 2014-09-24 527 2014-09-24 Grippeimpfung de
## 2014-09-25 600 2014-09-25 Grippeimpfung de
## 2014-09-08 234 2014-09-08 Grippeimpfung de
## 2014-09-09 300 2014-09-09 Grippeimpfung de
## 2014-09-06 108 2014-09-06 Grippeimpfung de
## 2014-09-07 130 2014-09-07 Grippeimpfung de
## 2014-09-04 227 2014-09-04 Grippeimpfung de
## 2014-09-05 201 2014-09-05 Grippeimpfung de
## 2014-09-02 229 2014-09-02 Grippeimpfung de
## 2014-09-03 458 2014-09-03 Grippeimpfung de
## 2014-09-01 213 2014-09-01 Grippeimpfung de
## 2014-09-28 179 2014-09-28 Grippeimpfung de
## 2014-09-27 179 2014-09-27 Grippeimpfung de
## 2014-09-29 506 2014-09-29 Grippeimpfung de
Pageviews des Artikels “Grippeimpfung” seit Januar 2009
# Erstellen einer Liste mit allen Monaten
dts = seq.Date(as.Date("2009-01-01"), as.Date("2014-09-01"), "month")
dts = sapply(dts, function(x) paste0(format(x, "%Y"), format(x, "%m")))
grippeimpfung.views = do.call(rbind, lapply(dts, function(i) f_wikiviews(article = "Grippeimpfung", month = i)))
nrow(grippeimpfung.views) #Inkonsistenz der Pseudo-API: Jeder Monat hat 31 Tage
## [1] 2137
grippeimpfung.views$date = as.Date(grippeimpfung.views$date) #Entfernen der nicht existenten Tage
table(is.na(grippeimpfung.views$date)) # 38 ungültige Tage
##
## FALSE TRUE
## 2099 38
nrow(na.omit(grippeimpfung.views)) # 2099 gültige Tage
## [1] 2099
head(grippeimpfung.views)
## views date article project
## 2009-01-29 406 2009-01-29 Grippeimpfung de
## 2009-01-19 672 2009-01-19 Grippeimpfung de
## 2009-01-18 407 2009-01-18 Grippeimpfung de
## 2009-01-13 1059 2009-01-13 Grippeimpfung de
## 2009-01-12 802 2009-01-12 Grippeimpfung de
## 2009-01-11 353 2009-01-11 Grippeimpfung de