我正在搜索法语Wikipedia项目任何页面的总页面浏览量(从2015年7月,PageViews API的发布日期到2019年1月1日)。
使用PageViews API(How to use Wikipedia API to get the page view statistics of a particular page in wikipedia?)对我来说似乎太繁重:我需要200万个页面中的数据。
在查询中返回返回所有页面标题(https://tools.wmflabs.org/massviews/)的情况下使用MassViews(https://quarry.wmflabs.org/query/34473)也不起作用:MassView受20000页限制,并且无法从我的网站检索某些页面标题的数据查询结果。
您知道一些更有效的工具吗?
答案 0 :(得分:1)
维基百科的API功能强大,例如this可以获取法语维基百科的Apollo_10的综合浏览量。以此为基础编写脚本并不难。
如果您认为使用API查询所有站点比较繁琐,则可以使用Google bigquery。它在其开放数据集中具有综合浏览量数据。有一个tutorial。
这是我的例子:
select * from `bigquery-public-data.wikipedia.pageviews_2015` where datehour = '2015-07-12 18:00:00 UTC';
如果要获取法语Wiki的特定页面,则可以指定“ wiki = fr”和“ title = xxx”。由于我是bigquery的新手,所以我不知道如何查询表中的数据并导出。但这是有可能的,因为我对SQL的了解不足。您可以按标题汇总数据并导出结果。
唯一的问题是bigquery不是免费的。例如,上面的查询花费6GB。查询(按需)是免费的,前1 TB免费,之后每TB 5美元。即使您使用“限制”,Bigquery也会根据您选择的列中处理的数据收费。因此可能会花费很多。
答案 1 :(得分:0)
您可以从以下位置下载所有综合浏览量的转储:https://dumps.wikimedia.org/other/pageviews/
答案 2 :(得分:0)
发现: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),将DATA INFILE加载到MySQL数据库中,然后再次使用Python查询。 / p>