Как использовать API Википедии, чтобы получить статистику просмотра страницы на определенной странице в Википедии?
Средство stats.grok.se предоставляет статистику просмотра страниц определенной страницы в википедии. Есть ли способ использовать wikipedia api для получения той же информации? Что означает свойство счетчика просмотров страниц?
Ответы
Ответ 1
API-интерфейс Pageview был выпущен несколько дней назад: https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/{project}/{access}/{agent}/{article}/{granularity}/{start}/{end}
Например https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/en.wikipedia/all-access/all-agents/Foo/daily/20151010/20151012 даст вам
{
"items": [
{
"project": "en.wikipedia",
"article": "Foo",
"granularity": "daily",
"timestamp": "2015101000",
"access": "all-access",
"agent": "all-agents",
"views": 79
},
{
"project": "en.wikipedia",
"article": "Foo",
"granularity": "daily",
"timestamp": "2015101100",
"access": "all-access",
"agent": "all-agents",
"views": 81
}
]
}
Ответ 2
Нет, нет.
Свойство counter
, возвращаемое из prop=info
, сообщит вам, сколько раз страница просматривалась с сервера. Он отключен в Википедии и других вики-вики-сайтах, потому что агрессивное кэширование кальмаров/лаков означает, что только малая часть просмотров страниц будет попадать на фактический сервер, чтобы повлиять на этот счетчик, и даже тогда увеличенная загрузка базы данных для обновления этого счетчика вероятно, будет запретительным.
Средство stats.grok.se использует анонимные журналы с кеш-серверов для расчета просмотров страниц; необработанные файлы журналов доступны из http://dammit.lt/wikistats. Если вам нужен API для доступа к данным из stats.grok.se, вы должны связаться с оператором stats.grok.se, чтобы запросить один создаваться.
Примечание: это было написано 4 года назад, и с тех пор был создан API (см. этот ответ). Однако еще нет доступа к этому через api.php.
Ответ 3
получить ежедневный JSON за последние 30 дней, как этот
http://stats.grok.se/json/en/latest30/Britney_Spears
Ответ 4
Вы можете посмотреть статистику здесь.
Кто-нибудь испытал некоторый API, чтобы получить статистику по страницам?
Кроме того, я также изучил доступные Raw Data, но не смог найти решение для извлечения количества просмотров страницы.
Ответ 5
Кажется, что API не существует; однако вы можете сделать HTTP-запросы к stats.grok.se и проанализировать результат HTML или JSON, чтобы извлечь количество просмотров страницы.
Я создал веб-сайт http://wikipediaviews.org, который делает именно это, чтобы облегчить сравнение для нескольких страниц в течение нескольких месяцев и лет. Чтобы ускорить процесс и свести к минимуму количество запросов к stats.grok.se, я сохраняю все предыдущие результаты запроса локально.
Используемый мной код доступен в http://github.com/vipulnaik/wikipediaviews.
Файл с фактическим кодом поиска находится в https://github.com/vipulnaik/wikipediaviews/blob/master/backend/pageviewqueries.inc
function getpageviewsonline($page, $month, $language)
{
$url = getpageviewsurl($page,$month,$language);
$html = file_get_contents($url);
preg_match('/(?<=\bhas been viewed)\s+\K[^\s]+/',$html,$numberofpageviews);
return $numberofpageviews[0];
}
Код для getpageviewsurl находится в https://github.com/vipulnaik/wikipediaviews/blob/master/backend/stringfunctions.inc:
function getpageviewsurl($page,$month,$language)
{
$page = str_replace(" ","_",$page);
$page = str_replace("'","%27",$page);
return "http://stats.grok.se/" . $language . "/" . $month . "/" . $page;
}
PS: Если ссылка на wikipediaviews.org не работает, это потому, что я зарегистрировал домен совсем недавно. Вместо этого попробуйте http://wikipediaviews.subwiki.org.
Ответ 6
em.. этот вопрос задавали 6 лет назад. В прошлом на официальном сайте такого API не было.
Он изменился.
Простой пример:
https://en.wikipedia.org/w/api.php?action=query&format=json&prop=pageviews&titles=Buckingham+Palace%7CBank+of+England%7CBritish+Museum
См. документ:
проп = Просматриваемые
Показывает данные просмотра страницы на страницу (количество ежедневных просмотров страниц для каждого из последних дней Pvipdays). Формат результата - это название страницы (с подчеркиванием) = > дата (Ymd) = > count.