从(法语)Wikipedia逐页获取总页面视图



我正在搜索《法语Wikipedia项目》的任何页面。

使用PageViews API(如何使用Wikipedia API获取Wikipedia中特定页面的页面统计信息?)对我来说似乎太重了:我需要超过200万页的数据。

使用查询返回所有页面标题(https://quarry.wmflabs.org/query/34473),使用MassViews(https://tools.wmflabs.org/massviews/)20000页限制,无法从我的查询结果中检索某些页面标题的数据。

您知道这样做的一些更有效的工具吗?

wikipedia的API功能强大,例如,可以获得法语Wikipedia的Apollo_10的浏览量。基于此制作脚本并不难。

如果您认为使用API查询所有网站很重,则可以使用Google BigQuery。它在其打开数据集中具有pageview数据。有一个教程。

这是我的示例:

  1. Access BigQery的控制台。
  2. 在答案中键入以下内容。
select * from `bigquery-public-data.wikipedia.pageviews_2015` where datehour = '2015-07-12 18:00:00 UTC';
  1. 您将获得一个包含所有页面浏览量数据的表。

如果要获得法语Wiki的特定页面,则可以指定'Wiki = fr'和'title = xxx'。当我是BigQuery的新手时,我不知道如何查询数据跨越桌子并导出。但这是因为我对SQL的贫困知识,这是可能的。您可以按标题汇总数据并导出结果。

唯一的问题是BigQuery不是免费的。例如,上面的查询成本为6GB。查询(按需)是前1个TB免费的,之后每TB的5美元。BigQuery将根据您选择的列中处理的数据收费,即使您使用"限制"。因此,它可能花费很多。

您可以从此处下载所有页面浏览量的转储:

找到了以下内容:https://dumps.wikimedia.org/other/pagecounts-ez/merged/是页面视图转储的合并。在此处记录:https://wikitech.wikimedia.org/wiki/analytics/data_lake/traffic/pageviews

这是一个python脚本的示例,该脚本在文件之一的每行中微不足道。

import csv
import bz2
from pprint import pprint
with bz2.open("pagecounts-2011-12-views-ge-5-totals.bz2", "rt", errors = "replace") as fichier:
    for line in fichier:
        text = line.split()
        if(text[0] == "fr"):
            pprint(text)

使用此文件,每月一个文件,很容易设置这种工作流程:过滤我真正想要的留置权(法语Wiki),将数据插入MySQL数据库中,然后再次使用Python查询。<<<<<<<<

最新更新