Créez une instance sur Google Cloud Compute (GCE), utilisez un programme Python pour exporter des données Google Analytics (GA), importez-les dans MySQL et exportez les données formatées. Je viserai.
OS: Ubuntu 14.04 LTS Machine Type: g1-small (1 vCPU, 1.7 GB memory) Les autres paramètres sont les paramètres par défaut, mais à titre d'exception, accordez des autorisations pour utiliser l'API.
Le journal d'accès de chaque utilisateur est acquis par défaut dans la version gratuite. Mais il n'y a pas d'axe pour rendre l'utilisateur unique. Par conséquent, l'adresse IP de l'utilisateur d'accès est acquise comme axe de regroupement. Le flux est le suivant. ① Définissez une dimension personnalisée dans GA. ② Ajoutez le code pour acquérir l'adresse IP au JavaScript du site Web. ③ Confirmez que vous pouvez l'obtenir sur GA.
■ Explication détaillée ① Définissez une dimension personnalisée dans GA. Tout d'abord, définissez une dimension personnalisée. Les dimensions personnalisées sont utilisées lorsque vous souhaitez envoyer plus que les informations standard fournies par une page Web.
Créez une nouvelle dimension personnalisée. (Créé dans la figure)
Créez-le avec n'importe quel nom.
Vérifiez le code pour obtenir la valeur de la dimension personnalisée que vous avez créée. Si vous pouvez coller ce code dans l'en-tête d'une page Web et définir une valeur pour la dimension personnalisée ajoutée, vous pouvez le voir sur Google Analytics.
La spécification de trackCommonMethod.getIP () pour dimensionValue définit l'adresse IP de cette dimension personnalisée et l'envoie au GA. Ajoutez ce script à votre site. Assurez-vous de l'ajouter avant ga ('send', 'pageview');. Ce service semble avoir été créé par M. Kei, qui gère la page suivante. Merci beaucoup. http://lfll.blog73.fc2.com/blog-entry-258.html
Si vous êtes réticent à utiliser cela, il semble que vous puissiez le faire en écrivant votre propre script. Dans mon cas, je l'ai intégré dans le site de Jimdo, donc je ne pouvais pas écrire le script librement, alors je l'ai mis de côté.
<script type="text/javascript" src="//www.analyticsip.net/getIP/public_html/ra/script.php">
//Omission
</script>
ga('set', 'dimension1', trackCommonMethod.getIP());
ga('send', 'pageview');
Ensuite, lorsque les données GA sont mises à jour, l'adresse IP sera affichée en spécifiant la dimension personnalisée créée précédemment pour la dimension secondaire de chaque rapport.
Maintenant que vous êtes prêt, consultez la page officielle et créez un compte de service. https://developers.google.com/analytics/
Créez le code Python suivant pour exporter les données GA au format CSV.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import HelloAnalytics
from apiclient.errors import HttpError
from oauth2client.client import AccessTokenRefreshError
import csv
import codecs
import subprocess
import datetime
import os
# information for call API.
scope = ['https://www.googleapis.com/auth/analytics.readonly']
service_account_email = 'Adresse e-mail du compte de service que vous avez créé'
key_file_location = 'Chemin de placement du fichier de clé créé'
view_id = 'Identifiant de vue pouvant être obtenu sur l'écran de gestion GA'
# Authenticate and construct service.
#Les paramètres de connexion ici proviennent d'autres sources, veuillez donc les corriger.
service = HelloAnalytics.get_service('analytics', 'v3', scope, key_file_location, service_account_email)
args = sys.argv
exec_date = args[1]
print ""
print "exec_date:" + exec_date
#--------------------------------------------
#Collecte de données(Main)
#Obtenez des informations quotidiennes sur les pages vues
#--------------------------------------------
results = service.data().ga().get(
ids='ga:' + view_id,
start_date='7daysAgo',
end_date='today',
metrics='ga:pageviews',
dimensions='ga:dimension1,ga:pagePath',
max_results=20000
).execute()
rows = results.get('rows')
# Write Output File(CSV)
csvFileName = "GoogleAnalyticsData_" + exec_date + ".csv"
fout = codecs.open(csvFileName, 'w', 'utf-8')
filestr = "analysis_date" \
+ "," + "dimension1" \
+ "," + "pagepath" \
+ "," + "pageviews" + "\n"
fout.write(filestr);
count = 0;
for row in rows:
dimension1 = row[0]
pagepath = row[1];
pageviews = row[2];
filestr = exec_date \
+ "," + dimension1 \
+ "," + pagepath \
+ "," + pageviews + "\n"
fout.write(filestr)
count = count+1;
print count;
Dans mon cas, je voulais exporter depuis GA, importer vers MySQL et formater en même temps, j'ai donc créé le shell suivant. Veuillez modifier le chemin du fichier, l'ID et le mot de passe selon le cas.
#!bin/bash
today=`date '+%F'`
lastWeek=`date --date '7days ago' +%F`
# Export CSY From GoogleAnalytics
#Le programme précédent
python exportData.py $today
mv GoogleAnalyticsData_$today.csv files/
# Import Data From CSV To MySql
mysql -u analytics -panalytics -D analytics -e "LOAD DATA LOCAL INFILE '/usr/local/analytics/files/GoogleAnalyticsData_$today.csv' IGNORE INTO TABLE raw_data FIELDS TERMINATED BY ',' ENCLOSED BY '""' IGNORE 1 LINES;"
#Nous avons préparé un fichier SQL pour formater les données importées.
mysql -u analytics -panalytics -D analytics < ImportData.sql
# Create CSV For TensorFlow
#Étant donné que MySQL ne pouvait pas afficher le nom de la colonne, j'ai eu l'impression de générer des données dans un fichier modèle avec uniquement le nom de la colonne.
mv /var/lib/mysql-files/ExportData.csv files/
if [ -f files/tfData_$today.csv ]; then
rm files/tfData_$today.csv
fi
touch files/tfData_$today.csv
cat files/columns.csv >> files/tfData_$today.csv
cat files/ExportData.csv >> files/tfData_$today.csv
Étant donné que GA a beaucoup d'informations sur Internet, j'ai pu atteindre mon objectif presque sans difficulté.