from jyquickhelper import add_notebook_menu
add_notebook_menu()

"""
Explanation: Statistiques Wikipedia - énoncé
On s'instéresse aux statistiques de consultations de Wikipédia : pageviews. Ce TD commence par récupération des données avant de s'intéresser aux séries temporelles.
End of explanation
"""


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)

%load_ext pyensae

%head wikipv/pageviews-20160901-000000

os.stat("wikipv/pageviews-20160901-000000").st_size / 2**20, "Mo"

"""
Explanation: Récupération des données
Les statistiques sont disponibles pour chaque heure et chaque jour. Compressés, cela représente environ 60Mo. On regarde un fichier.
End of explanation
"""


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)

"""
Explanation: Ca va prend un petit peu de temps et d'espace de télécharger ces données.
Exercice 1 : parallélisation du téléchargement
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.
End of explanation
"""


