Recuperando as reações de um post


In [48]:
import requests

Iremos definir a URL base para realizar as requisições.


In [49]:
url_base = 'https://graph.facebook.com/v2.7'

Agora, iremos utilizar um nó (post) que recuperamos na aula passada.


In [50]:
id_post = '/134488303306371_1056521637769695'

In [51]:
no = id_post

Vamos criar a parte da URL em que definimos os campos que queremos recuperar. No caso é o reactions.


In [52]:
campos = '/?fields=reactions'

Por fim, temos que criar a parte da URL que contém o token de acesso.


In [58]:
access_token = '&access_token=EAACEdEose0cBAKGD4DeJpEyS5Mvf0v4VZCooTJ8KgSKOwPojIjqej9pEsC6nG4EOVD0Bi6ripn04OP9CuxZAZCqAinpBh75fYCDEalZAcXDlgbbZCyq0IZBtZCgpQZCukscpAiVJFbQs1S1f3k8SCDYw3FWxzL2HBryYrP0MGNIk9QZDZD'

In [59]:
url_final = url_base+no+campos+access_token
url_final


Out[59]:
'https://graph.facebook.com/v2.7/134488303306371_1056521637769695/?fields=reactions&access_token=EAACEdEose0cBAKGD4DeJpEyS5Mvf0v4VZCooTJ8KgSKOwPojIjqej9pEsC6nG4EOVD0Bi6ripn04OP9CuxZAZCqAinpBh75fYCDEalZAcXDlgbbZCyq0IZBtZCgpQZCukscpAiVJFbQs1S1f3k8SCDYw3FWxzL2HBryYrP0MGNIk9QZDZD'

Com a URL final, podemos fazer o requisição.


In [60]:
req = requests.get(url_final).json()

In [61]:
import simplejson as json

In [62]:
print(json.dumps(req, indent=2))


{
  "reactions": {
    "data": [
      {
        "name": "Dino Magri",
        "id": "114873192193820",
        "type": "WOW"
      },
      {
        "name": "Olya Ostasheva",
        "id": "10153793518774056",
        "type": "LIKE"
      },
      {
        "name": "Huynh Ngoc Phu",
        "id": "1518973238357915",
        "type": "LIKE"
      },
      {
        "name": "Anna Matevosyan",
        "id": "677824635611754",
        "type": "LIKE"
      },
      {
        "name": "Frederic Moresmau",
        "id": "4835889712721",
        "type": "LIKE"
      }
    ],
    "paging": {
      "cursors": {
        "before": "TVRBd01ERXdNVE0wTVRnMU56UTRPakUwTnpBMU5EQTNNREk2TnpnNE5qUTRNRE0zT1RFek16RXkZD",
        "after": "TVRjMk1UQTNNRE14TURveE5EY3dOREkxTnpjeE9qSTFOREE1TmpFMk1UTT0ZD"
      }
    }
  },
  "id": "134488303306371_1056521637769695"
}

Ótimo! Dados foram recuperados!

Agora podemos realizar a contagem das reações de um determinado post.


In [63]:
tipos_reacoes = ['LIKE','LOVE', 'WOW', 'HAHA', 'SAD', 'ANGRY']

In [64]:
dados = req['reactions']['data']

In [65]:
contagem = dict(zip(tipos_reacoes, [0,0,0,0,0,0]))

In [66]:
for reacao in dados:
    contagem[reacao['type']] += 1

In [67]:
contagem


Out[67]:
{'ANGRY': 0, 'HAHA': 0, 'LIKE': 4, 'LOVE': 0, 'SAD': 0, 'WOW': 1}

In [ ]: