0
votes

Obtenir la vue totale de la page de Wikipédia par page

Je recherche le nombre total de pages vues (de juillet 2015, date de sortie de l'API PageViews, au 1er janvier 2019) de n'importe quelle page du projet Wikipedia français.

Utilisation de l'API PageViews ( Comment utiliser l'API Wikipédia pour obtenir les statistiques de page vue d'une page particulière dans wikipedia? ) me semble trop lourd: j'ai besoin de données provenant de plus de 2 millions de pages.

Utilisation de MassViews ( https://tools.wmflabs.org/massviews/ ) avec un requête renvoyant tous les titres des pages ( https://quarry.wmflabs.org/query/34473 ) ne fonctionne pas non plus: MassView souffre d'une limitation de 20000 pages et ne parvient pas à récupérer les données pour certains titres de pages à partir des résultats de ma requête.

Connaissez-vous des outils plus efficaces pour ce faire?


0 commentaires

3 Réponses :


1
votes

Vous pouvez télécharger des vidages de tous les vues d'ici à partir d'ici: https://dumps.wikimedia.org/ Autres / PageViews /


2 commentaires

Merci. Le problème est que ces fichiers sont très importants. Êtes-vous familier d'un sous-ensemble de projet français?


Peur non. Si vous recherchez des millions de points de données, vous devrez travailler avec les vidages. Cela devrait toujours être plus rapide que de passer 2 millions d'appels.



0
votes

J'ai trouvé ceci: https://dumps.wikimedia.org/other/pagecounts -ez / merged / qui est une fusion de vidages de pages vues. Documenté ici: https://wikitech.wikimedia.org/wiki/Analytics/Data_Lake / Trafic / Pages vues

Voici un exemple de script Python qui imprime trivialement chaque ligne de celle du fichier.

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)

Avec ce kinf de fichiers, un par mois, il est devenu facile de mettre en place ce type de workflow: filtrer les privilèges que je veux vraiment (wiki français), CHARGER INFILE DE DONNÉES dans la base de données MySQL, et l'interroger à nouveau avec Python.


0 commentaires

1
votes

L'API de Wikipedia est puissante, comme ceci peut obtenir la page vue d'Apollo_10 de wikipedia français. Créer un script basé sur cela n'est pas si difficile.

Si vous pensez que l'utilisation de l'API pour interroger tous les sites est lourde, vous pouvez utiliser google bigquery. Il contient des données de page vue dans son ensemble de données ouvert. Il y a un tutoriel à ce sujet.

Voici mon exemple:

  1. Accédez à la console de bigqery.
  2. Saisissez le contenu ci-dessous dans la réponse.
select * from `bigquery-public-data.wikipedia.pageviews_2015` where datehour = '2015-07-12 18:00:00 UTC';
  1. Et vous obtiendrez un tableau contenant toutes les données de pages vues pour le moment.

Si vous voulez obtenir une page spécifique du wiki français, vous pouvez spécifier 'wiki = fr' et 'title = xxx'. Comme je suis nouveau dans bigquery, je ne sais pas comment interroger les données dans la table et les exporter. Mais c'est possible sur la base de ma faible connaissance de SQL. Vous pouvez agréger les données par titre et exporter le résultat.

Le seul problème est que bigquery n'est pas gratuit. Par exemple, la requête ci-dessus coûte 6 Go. Les requêtes (à la demande) sont gratuites pour les premiers 1 To et 5 dollars par To par la suite. Bigquery facturera en fonction des données traitées dans les colonnes que vous sélectionnez, même si vous utilisez une «limite». Cela peut donc coûter cher.


0 commentaires