Ciao mi chiamo Jacopo! Sono un UX/UI Designer e Front End Developer. Sul mio sito troverai articoli sullo sviluppo Front End

Facebook oltre ad essere una piattaforma che mette in relazione gli utenti con rapporti di amicizia, è anche un ottimo strumento utilizzabile dalle aziende per fare del social marketing ed avere una comunicazione orizzontale con i propri clienti.

In questo post vedremo come è possibile estrarre dei dati rilevanti all'interno di una pagina pubblica su Facebook. Questo tipo di dati può riguardare ad esempio quale o quali sono i posts che gli utenti gradiscono di più, o quelli che hanno creato un maggior coinvolgimento nelle discussioni tra gli utenti (numero di commenti).

Rfacebook

Apriamo il nostro ambiente per il linguaggio R e procediamo ad installare i seguenti pacchetti:

install.packages("devtools")
library(devtools)
install.packages("Rfacebook")
library(Rfacebook)

Il pacchetto Rfacebook dipende inoltre da altri pacchetti come httr, rjson e httpuv, i quali dovrebbero essere scaricati automaticamente (controllate il messaggio stampato a video).

Ora che abbiamo installato i pacchetti necessari per l'estrazione dei dati attraverso il linguaggio R, torniamo su Facebook e creiamo un Token  temporaneo (attenzione perché sarà valido per 2 ore, poi dovrete crearne uno nuovo!)

Andate su Facebook Developers,  cliccate su "Get Token" e successivamente "Get User Access Token". Nel caso di questo post andremo ad estrarre i dati relativi ad una pagina pubblica, e quindi andiamo a selezionare le voci relative alle pagine. Confermiamo il tutto e otterremo il nostro token.

Torniamo ora su R e scriviamo:

token <- 'xxxxxxxxxx'
#dove al posto delle x
#inseriremo il token datoci da Facebook

Questa funzione ci permetterà quindi di ricavare i dati di nostro interesse all'interno di una pagina. Prendiamo come esempio la pagina ufficiale di Facebook per Rai 1.

Inseriamo quindi il seguente codice:

pagina <- getPage("raiunoofficial", token, n=50)

Con questa riga di codice ci vengono restituiti 50 post dalla pagina Facebook di Rai 1 (non necessariamente gli ultimi). Procediamo a capire quale tra questi ha ottenuto più like dagli utenti.

Scriviamo:

pagina[which.max(pagina$likes_count), ]

Come si vedrà dall'output, ci verrà restituita la pagina con il maggior numero di like tra le 50 che abbiamo preso in considerazione (possiamo aumentare il range dei post cambiando il valore di n).

Ci viene quindi restituito il risultato del post con più like tra i 50 scansionati.

from_id from_name
25 165907013448357 Rai1
message
25 Diamo il bentornato alla Famiglia Martini! <ed><U+00A0><U+00BC><ed><U+00BF><U+00A1>\nQuesta sera alle 21.15 su #Rai1 <ed><U+00A0><U+00BD><ed><U+00B8>
<U+008D>\n\nUn Medico in Famiglia #medico10 \nGabriele Paolino Domiziana Giovinazzo Official Eleonora Cadeddu Flavio Parenti Cristiana Vaccaro Riccardo
Alemanni #GiulioScarpati #LinoBanfi #MilenaVukotic
created_time type
25 2016-09-07T13:00:01+0000 photo
link
25 https://www.facebook.com/raiunoofficial/photos/a.561903310515390.1073741825.165907013448357/1181026461936402/?type=3
id likes_count comments_count shares_count
25 165907013448357_1181026461936402 1677 53 104

In questo caso il post ha ricevuto 1677  like (al momento della scansione) ed è relativo all'uscita della nuova stagione di un medico in famiglia. Come può esserci d'aiuto questo dato?

Mettiamo il caso in cui gestiamo un blog che parli di televisione e sopratutto di serie tv. Dovremo prendere in seria considerazione il numero dei like al post di un medico in famiglia e preparare quindi un articolo a tema (o una serie di articoli dato l'elevato interesse del pubblico).

Ti sei iscritto con successo al blog di Jacopo Kahl - UX/UI Designer e Front End Developer
Bentornato! Hai effettuo l'accesso al blog.
Ottimo! Ti sei appena registrato.
Perfetto! Il tuo account è attivo, ed hai l'accesso a tutti i contenuti.