Scrapping von Echtzeit-Besuchern aus Google Analytics
Ich habe eine Menge von Websites und bauen möchten, ein dashboard zeigt die Anzahl der in Echtzeit die Besucher auf jedem von Ihnen auf einer einzigen Seite. (würde jemand anderes wollen?) Jetzt der einzige Weg, um diese Informationen anzuzeigen, öffnen Sie eine neue Registerkarte für jeden Standort.
Google nicht über eine Echtzeit-API, so Frage ich mich, ob es möglich ist, kratzen diese Daten. Eduardo Cereto fand heraus, dass Google überträgt die Daten in Echtzeit über das realtime/bind-Netzwerk Anfrage. Wer mehr wissen haben eine Idee, wie ich anfangen soll? Hier ist, was ich denke:
- Herausfinden, wie die Authentifizierung programmgesteuert
-
Prüfen alle realtime/binden Anfragen zu sehen, wie Sie sich ändern. Nicht jeder Anfrage einen eindeutigen Schlüssel besitzen? Woher kommt das? Unten ist mein Aufschlüsselung der Anfrage:
https://www.google.com/analytics/realtime/bind?VER=8
&key=[Was ist das? Wo kommt es her? 21 Zeichen in Kleinbuchstaben alphanumerische, bleibt die gleiche Anfrage]
&ds=[Was ist das? Wo kommt es her? 21 Zeichen in Kleinbuchstaben alphanumerische, bleibt die gleiche Anfrage]
&pageId=rt-standard%2Frt-übersicht
&q=t%3A0%7C%3A1%3A0%3A%2Ct%3A11%7C%3A1%3A5%3A%2Cot%3A0%3A0%3A4%2Cot%3A0%3A0%3A3%2Ct%3A7%7C%3A1%3A10%3A6%3D%3DREFERRAL%3B%2Ct%3A10%7C%3A1%3A10%3A%2Ct%3A18%7C%3A1%3A10%3A%2Ct%3A4%7C5%7C2%7C%3A1%3A10%3A2!%3Dzz%3B%2C&f
Q variable URI-dekodiert, um diese (was?):
t:0/:1:0:,t:11/:1:5:,ot:0:0:4,ot:0:0:3,t:7/:1:10:6==REFERRAL;,t:10/:1:10:,t:18/:1:10:,t:4/5/2/:1:10:2!=zz;,&f&RID=rpc -
&SID=[Was ist das? Wo kommt es her? 16 Zeichen Großbuchstaben alphanumerische, bleibt die gleiche Anfrage]
&CI=0
&AID=[Was ist das? Wo kommt es her? integer, beginnt bei 1, - Schritten komischerweise auf 150 und dann 298]
&TYPE=xmlhttp
&zx=[Was ist das? Wo kommt es her? 12 Zeichen, Kleinbuchstaben, alphanumerisch, ändert sich bei jeder Anfrage]
&t=1
-
Prüfen alle realtime/binden Antworten zu sehen, wie Sie sich ändern. Wie funktioniert die Daten kommen? Es sieht aus wie etwas verändert JSON. Wie viele Male muss ich anschließen um die Daten zu erhalten? Wo ist der aktive Besucher auf der Website Anzahl dort? Hier ist ein dump der Beispieldaten:
19
[[151,["noop"]
]
]
388
[[152,["rt",[{"ot:0:0:4":{"timeUnit":"MINUTES","overTimeData":[{"values":[49,53,52,40,42,55,49,41,51,52,47,42,62,82,76,71,81,66,81,86,71,66,65,65,55,51,53,73,71,81],"name":"Total"}]},"ot:0:0:3":{"timeUnit":"SECONDS","overTimeData":[{"values":[0,1,1,1,1,0,1,0,1,1,1,0,2,0,2,2,1,0,0,0,0,0,2,1,1,2,1,2,0,5,1,0,2,1,1,1,2,0,2,1,0,5,1,1,2,0,0,0,0,0,0,0,0,0,1,1,0,3,2,0],"name":"Total"}]}}]]]
]
388
[[153,["rt",[{"ot:0:0:4":{"timeUnit":"MINUTES","overTimeData":[{"values":[52,53,52,40,42,55,49,41,51,52,47,42,62,82,76,71,81,66,81,86,71,66,65,65,55,51,53,73,71,81],"name":"Total"}]},"ot:0:0:3":{"timeUnit":"SECONDS","overTimeData":[{"values":[2,1,1,1,1,1,0,1,0,1,1,1,0,2,0,2,2,1,0,0,0,0,0,2,1,1,2,1,2,0,5,1,0,2,1,1,1,2,0,2,1,0,5,1,1,2,0,0,0,0,0,0,0,0,0,1,1,0,3,2],"name":"Total"}]}}]]]
]
388
[[154,["rt",[{"ot:0:0:4":{"timeUnit":"MINUTES","overTimeData":[{"values":[53,53,52,40,42,55,49,41,51,52,47,42,62,82,76,71,81,66,81,86,71,66,65,65,55,51,53,73,71,81],"name":"Total"}]},"ot:0:0:3":{"timeUnit":"SECONDS","overTimeData":[{"values":[0,3,1,1,1,1,1,0,1,0,1,1,1,0,2,0,2,2,1,0,0,0,0,0,2,1,1,2,1,2,0,5,1,0,2,1,1,1,2,0,2,1,0,5,1,1,2,0,0,0,0,0,0,0,0,0,1,1,0,3],"name":"Total"}]}}]]]
]
Lassen Sie mich wissen, wenn Sie helfen können, mit einer der oben genannten Punkte!
InformationsquelleAutor der Frage Kirk Ouimet | 2012-06-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bekommen, hat Google lanciert neue Echtzeit-API. Mit dieser API können Sie ganz einfach abrufen von Echtzeit-online-Besucher sowie mehrere Google Analytics mit folgenden Dimensionen und Metriken. https://developers.google.com/analytics/devguides/reporting/realtime/dimsmets/
Dies ist ganz ähnlich wie Google Analytics-API. Zu Beginn der Entwicklung auf diesem
https://developers.google.com/analytics/devguides/reporting/realtime/v3/devguide
InformationsquelleAutor der Antwort Vignesh Prajapati
Mit Google Chrome kann ich die Daten auf das Netzwerk-Panel.
Antrag Endpunkt ist
https://www.google.com/analytics/realtime/bind
Scheint, wie die Verbindung geöffnet bleibt, für 2,5 Minuten, und während dieser Zeit es wird einfach immer mehr und mehr Daten.
Nach etwa 2,5 Minuten die Verbindung geschlossen und eine neue geöffnet.
Auf das Netzwerk-panel können Sie sehen nur die Daten für die verbindungen sind abgebrochen. Also lassen Sie es offen für 5 Minuten oder so, und Sie beginnen können, um die Daten zu sehen.
Ich hoffe, dass Sie geben können, einen Ort, um zu starten.
InformationsquelleAutor der Antwort Eduardo
Dass google in der Schleife scheint ziemlich überflüssig. Schlage vor, Sie verwenden ein gemeinsames element geliefert, auf Nachfrage aus dem dashboard server und dieser Sache durch die absolute URL auf allen Seiten überwacht werden, für eine bestimmte Website. Die script-Ausgabe den Artikel Lesen können, die IP des Browsers zu Fragen und diese können alle in einer Datenbank protokolliert und gefiltert für die Einzigartigkeit Angabe einer real-time-head-count.
Ammendum:
Eine Datenbank kann auch einen Zeitstempel hinzufügen, um jede Zeile von Daten, die es speichert. Dies kann verwendet werden, um weitere Ergebnisse filtern und die Anzahl der Besucher in der letzten Stunde oder minute.
Client-side Javascript mit AJAX für die Feinabstimmung oder overkill
Das onblur und onfocus javascript-Befehle können verwendet werden, um zu sagen, ob die Seite sichtbar ist, übergeben Sie die Daten zurück an den dashboard server via Ajax. http://www.thefutureoftheweb.com/demo/2007-05-16-detect-browser-window-focus/
Wenn ein Besucher schließt eine Seite, diese können auch erkannt werden durch die javascript - onunload Funktion in den body-tag und Ajax kann verwendet werden, um das senden von Daten an den server zurück ein letztes mal, bevor der browser schließlich schließt die Seite.
Als möglicherweise möchten Sie auch zu sammeln einige Informationen über den Besucher, wie Google analytics funktioniert diese Seite https://panopticlick.eff.org/ hat eine Menge von javascript, die untersucht werden kann und angepasst werden.
InformationsquelleAutor der Antwort Skizz
Ich brauchte/wollte, Echtzeit-Daten für den persönlichen Gebrauch, so dass ich reverse-engineered, Ihr system ein wenig.
Anstelle der Bindung an
/bind
ich bekomme Daten aus/getData
(kein Wortspiel beabsichtigt).In
/getData
die minimale Anforderung ist offensichtlich:https://www.google.com/analytics/realtime/realtime/getData?pageId&key={{propertyID}}&q=t:0|:1
Hier eine kurze Erklärung der möglichen query-Parameter und syntax, denken Sie bitte daran, dass dies alles nur Vermutungen und ich weiß nicht, alle von Ihnen:
Abfrage-Syntax:
pageId&key=propertyID&q=dataType:dimensions|:page|:limit:filters
Werte:
Können Sie auch kombinieren Sie mehrere Abfragen in einer Anfrage, die durch Komma getrennt sind (D. H.
q=t:1|2|:1|:10,t:6|:1|:10
).Folgenden die "Dokumentation", wenn Sie wollten eine Abfrage zu erstellen, die Anfragen, die URL der Seite und die Stadt der top-10-aktive Besucher mit einer traffic-Quelle Typ der BENUTZERDEFINIERTEN befindet sich in den USA verwenden Sie diese URL:
https://www.google.com/analytics/realtime/realtime/getData?key={{propertyID}}&pageId&q=t:10|2|:1|:10:6==CUSTOM;1==United%20States
Dokumentation
Dokumentation 2
Ich hoffe, dass meine Antwort lesbar ist und (obwohl es ein wenig zu spät) ausreichend beantwortet Ihre Frage und hilft anderen in der Zukunft.
InformationsquelleAutor der Antwort A.M.K