Google+ profil látogatottsági adatainak mentése

Nem is olyan régen a Google+ kihelyezte minden profilra (Page és magánszemély), hogy mennyien nézték meg. Az senkinek sem tiszta, hogy pontosan mit tartalmaz ez a szám, de az biztos, hogy állandó az ami alapján számolja. Egy oldalnak (Page) hasznos információ lehet, hogy ez a szám miként változik az idő folyamán. Miért? Ha például 4 napig senki se látogatta, akkor valami nem ok és valamit változtatni kell.

PHP

API nincs hozzá. Meglepő módon. Egy egyszerű PHP scripttel és egy kis reguláris kifejezéssel viszont leszedhető ez az információ.

Google+ profil letöltése

Először is kell egy curl. Ezzel fogjuk letölteni a profiloldalt. Az egészet egy függvénybe rakjuk, hogy paraméterként esetleg többször meg tudjuk hívni.

0

Itt hívtunk egy curl_init-et, ami ugye kell, hogy tudjuk is használni. Beállítottuk a CURLOPT_URL-t a profil címére, CURLOPT_HEADER-t nullára, mert nem érdekel minket a header. Bár itt nem szükséges, de beállítottuk a biztonság kedvéért a CURLOPT_AUTOREFERER-t is, ami akkor hasznos, ha a Google+ profil egy átirányításon keresztül menne. Ha például a régi számos címre hivatkoznunk, de már van nevesített címe is. A CURLOPT_RETURNTRANSFER pedig arra kell, hogy egy változóba tudjuk menteni a kapott forrást. Ezek után futtatjuk a kérést és elmentjük a kimenetet egy $html ávltozóba. Ez tartalmazza az oldal forrását. Végül lezárjuk a kapcsolatot, mert már nincs rá szükségünk.

Adatok kinyerése

Megnézve egy profiloldalt láthatjuk, hogy van egy class rajta, aminek fix a neve. Ha mégsem, akkor majd aszerint módosítani kell. Jelenleg úgy tűnik, hogy fix. Mivel ott van a megtekintések száma és a követők száma is, ráadásul ugyan azzal az osztállyal, így mind a két adatot kiszedjuk 🙂

1

Mind a két adatből kierőszakoljuk az integer típust, mert nehogy más legyen.

Adatbázisba elmentjük

Jelen esetben egy MongoDB lesz a cél címünk, aminek az elérési útját egy környezeti változóból szerezzük meg. Itt persze le lehet cserélni bármilyen adattárolásra, email küldésre vagy bármi másra, ami tetszik.

2

Kiszedjük a környezeti változó értékéből az adatbázist és az alapján hívjuk meg már a Mongo instance-ünket, majd a Collection neve lesz jelen esetben gplusStats.

Egy sor az adatbázisban három értéket kap:

  • Mikor készült a bejegyzés
  • Mennyi megtekintés volt
  • Mennyi követő volt

Amennyiben több oldalra is futtatni szeretnénk, akkor érdemes bevenni egy újabb értéket, ami az oldal azonosítóját vagy nevét tartalmazza. A kapott adatokat elmentjük aztán lezárjuk a kapcsolatot.

CRON

Most ha lefuttatjuk, akkor elmenti aktuális időpontra mennyi látogatása és mennyi követője van a Google+ profilnak.

Mondjuk napi szinten nem lenne rossz futtatni, így helyezzünk is el egy CRON bejegyzést (vagy bármilyen más módon ütemezzük)

Nálam így néz ki a www-data ütemezési táblájának ide vonatkozó része:

3

Kapcsolódó cikkek:

Balazs Nadasdi

Developer, Project Manager, Blogger, Dad... or sometihng like these