Erstellen Sie eine Instanz in Google Cloud Compute (GCE), exportieren Sie mit einem Python-Programm Google Analytics (GA) -Daten, importieren Sie sie in MySQL und exportieren Sie die formatierten Daten. Ich werde zielen.
OS: Ubuntu 14.04 LTS Machine Type: g1-small (1 vCPU, 1.7 GB memory) Die anderen Einstellungen sind die Standardeinstellungen, erteilen jedoch ausnahmsweise Berechtigungen zur Verwendung der API.
Das Zugriffsprotokoll für jeden Benutzer wird standardmäßig in der kostenlosen Version erfasst. Es gibt jedoch keine Achse, die den Benutzer eindeutig macht. Daher wird die IP des Zugriffsbenutzers als Achse für die Gruppierung erfasst. Der Fluss ist wie folgt. ① Definieren Sie eine benutzerdefinierte Dimension in GA. ② Fügen Sie den Code zum Abrufen der IP zum JavaScript der Website hinzu. ③ Bestätigen Sie, dass Sie es auf GA erhalten können.
■ Detaillierte Erklärung ① Definieren Sie eine benutzerdefinierte Dimension in GA. Definieren Sie zunächst eine benutzerdefinierte Dimension. Benutzerdefinierte Abmessungen werden verwendet, wenn Sie mehr als die von einer Webseite bereitgestellten Standardinformationen senden möchten.
Erstellen Sie eine neue benutzerdefinierte Dimension. (Erstellt in der Abbildung)
Erstellen Sie es mit einem beliebigen Namen.
Überprüfen Sie den Code, um den Wert der von Ihnen erstellten benutzerdefinierten Dimension zu ermitteln. Wenn Sie diesen Code in die Kopfzeile einer Webseite einfügen und einen Wert für die hinzugefügte benutzerdefinierte Dimension festlegen können, wird er in Google Analytics angezeigt.
Wenn Sie trackCommonMethod.getIP () für dimensionValue angeben, wird die IP für diese benutzerdefinierte Dimension festgelegt und an die GA gesendet. Fügen Sie dieses Skript Ihrer Site hinzu. Stellen Sie sicher, dass Sie es vor ga hinzufügen ('send', 'pageview'); Dieser Service wurde anscheinend von Herrn Kei erstellt, der die folgende Seite betreibt. Vielen Dank. http://lfll.blog73.fc2.com/blog-entry-258.html
Wenn Sie dies nur ungern verwenden, können Sie dies anscheinend tun, indem Sie Ihr eigenes Skript schreiben. In meinem Fall habe ich es in Jimdos Site eingebettet, sodass ich das Skript nicht frei schreiben konnte, also habe ich es seitwärts gelegt.
<script type="text/javascript" src="//www.analyticsip.net/getIP/public_html/ra/script.php">
//Unterlassung
</script>
ga('set', 'dimension1', trackCommonMethod.getIP());
ga('send', 'pageview');
Wenn die GA-Daten aktualisiert werden, wird die IP angezeigt, indem die zuvor für die sekundäre Dimension jedes Berichts erstellte benutzerdefinierte Dimension angegeben wird.
Wenn Sie bereit sind, lesen Sie die offizielle Seite und erstellen Sie ein Dienstkonto. https://developers.google.com/analytics/
Erstellen Sie den folgenden Python-Code, um die GA-Daten in CSV zu exportieren.
#!/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 = 'E-Mail für das von Ihnen erstellte Dienstkonto'
key_file_location = 'Platzierungspfad der erstellten Schlüsseldatei'
view_id = 'ID anzeigen, die auf dem GA-Verwaltungsbildschirm abgerufen werden kann'
# Authenticate and construct service.
#Die Verbindungseinstellungen hier stammen aus anderen Quellen. Bitte korrigieren Sie sie.
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
#--------------------------------------------
#Datensammlung(Main)
#Erhalten Sie täglich Informationen zu Seitenaufrufen
#--------------------------------------------
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;
In meinem Fall wollte ich aus GA exportieren, nach MySQL importieren und gleichzeitig formatieren, also habe ich die folgende Shell erstellt. Bitte ändern Sie den Dateipfad, die ID und das Passwort entsprechend.
#!bin/bash
today=`date '+%F'`
lastWeek=`date --date '7days ago' +%F`
# Export CSY From GoogleAnalytics
#Das vorherige Programm
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;"
#Wir haben eine SQL-Datei vorbereitet, um die importierten Daten zu formatieren.
mysql -u analytics -panalytics -D analytics < ImportData.sql
# Create CSV For TensorFlow
#Da MySQL den Spaltennamen nicht ausgeben konnte, hatte ich das Gefühl, Daten in eine Vorlagendatei nur mit dem Spaltennamen auszugeben.
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
Da GA viele Informationen im Internet hat, konnte ich mein Ziel fast ohne Schwierigkeiten erreichen.
Recommended Posts