import mermaid from 'https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.2.3/mermaid.esm.min.mjs'; mermaid.initialize({ startOnLoad: true });
from jyquickhelper import add_notebook_menu
add_notebook_menu()
Les statistiques sont disponibles pour chaque heure et chaque jour. Compressés, cela représente environ 60Mo. On regarde un fichier.
import os
folder = "wikipv"
if not os.path.exists(folder):
os.mkdir(folder)
from mlstatpy.data.wikipedia import download_pageviews
import os
from datetime import datetime
%timeit -n1 -r1 download_pageviews(datetime(2016,9,1), folder=folder)
1 loop, best of 1: 42.6 s per loop
%load_ext pyensae
%head wikipv/pageviews-20160901-000000
aa Main_Page 2 0 aa.d Main_Page 2 0 aa.m Main_Page 2 0 aa.m.d Main_Page 2 0 ab 1989 1 0 ab 2007 2 0 ab Авикипедиа:Афорум 1 0 ab Авикипедиа:Описание 2 0 ab Австралиа 1 0 ab Адин 1 0
os.stat("wikipv/pageviews-20160901-000000").st_size / 2**20, "Mo"
(150.17064571380615, 'Mo')
Ca va prend un petit peu de temps et d'espace de télécharger ces données.
Regarde le module multiprocessing et implémenter une version parallélisée du programme suivant. multiprocessing est la librairie standard mais il en existe beaucoup d'autres : ParallelProcessing, joblib.
from mlstatpy.data.wikipedia import download_pageviews
from datetime import datetime
folder = "wikipv"
for h in range(0, 24): # boucle sur les 24 heures de la journée
dt = datetime(2016,9,1,h)
print("téléchargement", dt, "début", datetime.now())
download_pageviews(dt, folder=folder)
téléchargement 2016-09-01 00:00:00 début 2016-09-11 21:32:18.373115 téléchargement 2016-09-01 01:00:00 début 2016-09-11 21:32:18.374114 téléchargement 2016-09-01 02:00:00 début 2016-09-11 21:32:18.374114 téléchargement 2016-09-01 03:00:00 début 2016-09-11 21:32:18.374114 téléchargement 2016-09-01 04:00:00 début 2016-09-11 21:32:18.375114 téléchargement 2016-09-01 05:00:00 début 2016-09-11 21:32:18.375114 téléchargement 2016-09-01 06:00:00 début 2016-09-11 21:32:18.375114 téléchargement 2016-09-01 07:00:00 début 2016-09-11 21:32:18.375114 téléchargement 2016-09-01 08:00:00 début 2016-09-11 21:32:18.375114 téléchargement 2016-09-01 09:00:00 début 2016-09-11 21:32:18.376113 téléchargement 2016-09-01 10:00:00 début 2016-09-11 21:32:18.376113 téléchargement 2016-09-01 11:00:00 début 2016-09-11 21:32:58.745096 téléchargement 2016-09-01 12:00:00 début 2016-09-11 21:34:08.073304 téléchargement 2016-09-01 13:00:00 début 2016-09-11 21:35:04.923348 téléchargement 2016-09-01 14:00:00 début 2016-09-11 21:36:10.377303 téléchargement 2016-09-01 15:00:00 début 2016-09-11 21:37:20.523141 téléchargement 2016-09-01 16:00:00 début 2016-09-11 21:38:21.088853 téléchargement 2016-09-01 17:00:00 début 2016-09-11 21:39:24.186874 téléchargement 2016-09-01 18:00:00 début 2016-09-11 21:40:11.545482 téléchargement 2016-09-01 19:00:00 début 2016-09-11 21:41:05.327336 téléchargement 2016-09-01 20:00:00 début 2016-09-11 21:41:56.814023 téléchargement 2016-09-01 21:00:00 début 2016-09-11 21:42:50.729708 téléchargement 2016-09-01 22:00:00 début 2016-09-11 21:43:49.187079 téléchargement 2016-09-01 23:00:00 début 2016-09-11 21:44:48.095661
On veut comparer les habitudes de lectures des utilisateurs pour différents types de pages, politique, musique, cinéma, science, littérature... On prendra une semaine quelconque comme période d'étude. Que proposez-vous ?